当前位置:   article > 正文

k8s--基础--18.3--存储卷--类型--hostPath_hostpath数据卷类型有什么作用

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

在这里插入图片描述

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号