k8s--基础--18.3--存储卷--类型--hostPath

k8s–基础–18.3–存储卷–类型–hostPath


1、介绍

  1. hostPath存储卷 为Pod数挂载在宿主机上的目录或文件上。
  2. hostPath存储卷 使得容器可以使用宿主机的高速文件系统进行存储
  3. hostPath存储卷 是节点级别的存储卷,数据存储在节点的文件或者目录上

1.1、注意

  1. 在pod被删除,hostPath存储卷还是存在的,不会被删除。
  2. 假设hostPath存储卷数据在A节点上。pod被删除,新启动的同一个pod分配到A节点上,那么pod显示的数据,还是以前被删除pod的数据。

2、创建有存储卷的pod

如果原先pod-nginx-volume.yaml已经被使用,需要先删除

kubectl delete -f /root/test2/pod-nginx-volume.yaml  

2.1、查看字段定义

# 其他字段不懂通过explain来查看
kubectl explain pods.spec.volumes.hostPath

2.2、创建脚本

vi /root/test2/pod-nginx-volume.yaml

内容

 
apiVersion: v1
kind: Pod
metadata:
  # pod的名称
  name: pod-nginx-volume
spec: 
  containers:
  - name: c-nginx
    image: nginx:1.14
    # 容器挂载存储卷
    volumeMounts:
    # 容器存储卷目录
    - mountPath: /usr/share/nginx/html
      # 引入名称为nginx-volume的存储定义
      name: nginx-volume
  # 设置存储卷定义
  volumes:
    # 存储卷类型
    - hostPath: 
        # 节点的目录
        path: /data1
        # 目录不存就创建目录
        type: DirectoryOrCreate 
      # 存储卷名称
      name: nginx-volume   
 
 

2.3、执行

kubectl apply -f /root/test2/pod-nginx-volume.yaml 

3、验证

3.1、查看pod在哪个节点上

kubectl get pods pod-nginx-volume -o wide

在这里插入图片描述

  1. 可以看到pod在node1上。
  2. 登录到node1上,查看是否有/data1这个目录,如果有,属于正常创建。

3.2、查看 node1节点 /data1是否存在

在这里插入图片描述

在/data1创建a.txt文件,看容器中是否存在

touch a.txt

在这里插入图片描述

3.3、查看容器 是否存在a.txt

kubectl -it exec  pod-nginx-volume -c c-nginx -- /bin/sh
cd /usr/share/nginx/html
# 创建b.txt文件,查看节点上是否存在
touch b.txt

在这里插入图片描述

3.4、查看 node1节点 是否存在b.txt

在这里插入图片描述

4、hostPath 的tpye字段

kubectl explain pods.spec.volumes.hostPath.type

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值