linuxea:kubernetes hostPath存储卷(20)

此前在存储卷类型中提到,hostPath位于主机路径,在宿主机创建目录挂载。一定意义的持久性。pod所在宿主机之上的,脱离pod容器名称空间之外的,宿主机的文件系统某一个目录与pod建立关系。当pod被删除,存储卷不会被删除。只要同一个pod调度到同一个节点,数据依然可被正常使用。

volumes:
  hostPath:
    path: 
      type

type字段支持

为了测试效果,在三台node上都创建这个目录,并写上标注信息

[root@Linuxea-VM-Node146 ~]# mkdir -p /data/linuxea/image && echo $(date)_$(hostname)/data/linuxea/image.com >> /data/linuxea/image/linuxeacom.html
[root@DS-VM-Node146 ~]# cat /data/linuxea/image/linuxeacom.html
2018年 09月 20日 星期四 16:46:44 CST_Linuxea-VM-Node146.cluster.com/data/linuxea/image.com
[root@DS-VM-Node203 ~]# mkdir -p /data/linuxea/image && echo $(date)_$(hostname)/data/linuxea/image.com >> /data/linuxea/image/linuxeacom.html
[root@DS-VM-Node203 ~]# cat /data/linuxea/image/linuxeacom.html
2018年 09月 20日 星期四 16:46:43 CST_Linuxea-VM-Node203.cluster.com/data/linuxea/image.com
[root@DS-VM-Node_10_10_240_202 ~]# mkdir -p /data/linuxea/image && echo $(date)_$(hostname)/data/linuxea/image.com >> /data/linuxea/image/linuxeacom.html
[root@DS-VM-Node_10_10_240_202 ~]# cat /data/linuxea/image/linuxeacom.html
2018年 09月 20日 星期四 16:46:36 CST_Linuxea-VM-Node_10_10_240_202./data/linuxea/image.com

apply一个yml文件,在其中,挂载宿主机的目录,由于上台宿主机目录中的文件时间都不一样,便以此来测试。

[root@linuxea volume]# cat  pod-hostPath.yaml 
apiVersion: v1
kind: Pod
metadata: 
  name: linuxea-hostpath
  namespace: default
spec:
  containers:
  - name: linuxea-pod1-com
    image: "marksugar/nginx:1.14.a"
    ports:
      - containerPort: 88
    volumeMounts:
    - name: linuxea-image
      mountPath: /data/wwwroot/

  volumes:
  - name: linuxea-image
    hostPath:
      path: /data/linuxea/image
      type: DirectoryOrCreate
[root@linuxea volume]# kubectl apply -f pod-hostPath.yaml 
pod/linuxea-hostpath created
[root@linuxea volume]# kubectl get pods -o wide
NAME                                     READY     STATUS    RESTARTS   AGE       IP             NODE                 NOMINATED NODE
linuxea-hostpath                         1/1       Running   0          4s        172.16.5.109   linuxea.node-3.com   <none>

内部访问

[root@linuxea volume]# curl 172.16.5.109/linuxeacom.html
2018年 09月 20日 星期四 16:46:44 CST_Linuxea-VM-Node146.cluster.com/data/linuxea/image.com

此刻内部访问时被调度到linuxea-VM-Node146.cluster.com,倘若linuxea-VM-Node146.cluster.comnode宿主机不故障则会一直调度在linuxea-VM-Node146.cluster.com(一定程度上完成了“节点”持久存储。)。因此,此刻删除pod后在创建数据卷仍然可被调度。

0 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2018-10-15分类: kubernetes

标签: kubernetes

发表评论