节点存储卷:hostPath

演示:将宿主机/tmp目录挂载到容器/data目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[root@pool1 k8s_yaml]# vi hostPath-pod.yaml 
apiVersion: v1
kind: Pod
metadata:
name: hostpath-pod
spec:
containers:
- name: con-pod
image: centos
command: ["bash","-c","echo Pod is Running;sleep 36000"] # 防止容器退出
volumeMounts:
- name: cache-volume
mountPath: /data

volumes:
- name: cache-volume
hostPath:
path: /tmp
type: Directory


[root@pool1 k8s_yaml]# kubectl apply -f hostPath-pod.yaml
pod/hostpath-pod created
[root@pool1 k8s_yaml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
hostpath-pod 1/1 Running 0 83s 10.244.206.16 pool3 <none> <none>
[root@pool1 k8s_yaml]# kubectl exec -it hostpath-pod -- bash
[root@hostpath-pod /]# cd /data/
[root@hostpath-pod data]# ls
ks-script-shQBUG vmware-root_856-2731086721 yum.log
[root@hostpath-pod data]# touch a.txt
[root@hostpath-pod data]# ls
a.txt ks-script-shQBUG vmware-root_856-2731086721 yum.log
# 去对应pool3节点得/tmp目录下查看是否有a.txt文件
[root@pool3 tmp]# ls
a.txt ks-script-shQBUG vmware-root_856-2731086721 yum.log
# 在宿主机目录下创建文件 一样也会在容器中识别到;

临时存储卷:emptyDir

演示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
apiVersion: v1
kind: Pod
metadata:
name: emptydir-pod
spec:
containers:
- name: write
image: centos
command: ["bash","-c","while true;do echo 1 >> /data/hello;done"]
volumeMounts:
- name: cache-volume
mountPath: /data

- name: read
image: centos
command: ["bash","-c","tail -f /data/hello"]
volumeMounts:
- name: cache-volume
mountPath: /data

volumes:
- name: cache-volume
emptyDir: {}

[root@pool1 k8s_yaml]# kubectl apply -f emptyDir_pod.yaml

[root@pool1 k8s_yaml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
emptydir-pod 2/2 Running 0 2m16s 10.244.206.12 pool3 <none> <none>

[root@pool3 ~]# docker ps -a | grep emp
[root@pool3 ~]# cd /var/lib/kubelet/pods/735bb613-5cd7-44ab-87a9-2cb5a0c42d35/volumes/kubernetes.io~empty-dir/cache-volume/
[root@pool3 ~]# tail -n 10 hello