K8s系列之:数据卷挂载–hostPath

hostPath含义: 挂载Node文件系统(Pod所在节点)上文件或者目
录到Pod中的容器。

应用场景:Pod中容器需要访问宿主机文件。Pod可以访问宿主机的文件

-----------vim HostPath.yaml
apiVersion: v1
kind: Pod
metadata:
  name: my-pod-hostpath
spec:
  containers:
  - name: busybox
    image: busybox
    args:
    - /bin/sh
    - -c
    - sleep 36000
    volumeMounts:
    - name: data
      mountPath: /data
  volumes:
  - name: data
    hostPath:
      path: /tmp
      type: Directory

检查效果

-------------查看pod部署在哪里
[root@master ~]# kubectl get pod -A -o wide
NAMESPACE       NAME                                    READY   STATUS        RESTARTS   AGE     IP             NODE     NOMINATED NODE   READINESS GATES
cattle-system   cattle-cluster-agent-76cbdd8888-x78sl   1/1     Running       122        20d     10.244.1.76    node1    <none>           <none>
default         my-pod-hostpath                         1/1     Running       0          15s     10.244.0.72    master   <none>           <none>
------------进入容器pod中
[root@master ~]# kubectl exec -it my-pod-hostpath  -n default -- sh
/ # 
/ # ll /data/
---此时data上并没有文件,在宿主机中添加文件【建议复制会话窗口处理】
[root@master ~]# echo 111 > /tmp/a.txt
---此时切换到pod器中
/ # cat /data/a.txt 
111

拓展操作:如果在pod容器的data文件中添加文件,宿主机也存在吗?

答案:会的。如图

k8s、新兴技术能力K8s系列之:数据卷挂载–hostPath插图
宿主机