• 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  
    
    • 1

    2.1、查看字段定义

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

    2.2、创建脚本

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

    内容

     
    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   
     
     
    
    • 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

    2.3、执行

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

    3、验证

    3.1、查看pod在哪个节点上

    kubectl get pods pod-nginx-volume -o wide
    
    • 1

    在这里插入图片描述

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

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

    在这里插入图片描述

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

    touch a.txt
    
    • 1

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

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

    在这里插入图片描述

    4、hostPath 的tpye字段

    kubectl explain pods.spec.volumes.hostPath.type
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    怎么把图片转成gif
    如何将Python程序打包并保护源代码
    第二次作业
    (附源码)APP+springboot垃圾自动分类管理系统 毕业设计 160846
    记录一次利用CPS和蹦床技术来避免递归中的栈溢出的经历
    【基础算法Ⅰ】算法入门篇
    opencv(5): 滤波器
    MySQL基础3-约束
    Qlist的使用
    Java编程技巧-定义集合常量、定义数组常量的最佳方式
  • 原文地址:https://blog.csdn.net/zhou920786312/article/details/126232788