kubernetes 入门实践-存储-hostpath

ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(普通人只想到如何度过时间,有才能的人设法利用时间 - 叔本华)
ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤkubernetes 入门实践-存储-hostpath_第1张图片
kubernetes 入门实践-存储 volume-nfs
kubernetes 入门实践-操作k8s集群
kubernetes 入门实践-搭建nfs服务器

如果对nfs搭建或者pv和pvc,或者对搭建k8s集群感兴趣的,可以看上面的文章

hostpath

将宿主机的文件系统挂载至pod中

作用

  • 运行一个需要访问 Docker 内部机制的容器;可使用 hostPath 挂载 /var/lib/docker 路径。
  • 在容器中运行 cAdvisor 时,以 hostPath 方式挂载 /sys。
  • 允许 Pod 指定给定的 hostPath 在运行 Pod 之前是否应该存在,是否应该创建以及应该以什么方式存在
编写pod配置文件
apiVersion: v1
kind: Pod
metadata:
  name: test-container-hostpath
spec:
  containers:
  - image: busybox
    name: test-container-hostpath
    args:
      - /bin/sh
      - -c
      - sleep 30000
    volumeMounts:
    - mountPath: "/home/zhangzw/nfs-release"
      name: test-volume
  volumes:
  - name: test-volume
    hostPath:
      # directory location on host
      path: "/home/zhangzw/nfs-release"
      # this field is optional
      type: Directory
应用pod配置文件
kubectl apply -f hostpath-pod.yaml
查看dashboard

kubernetes 入门实践-存储-hostpath_第2张图片

在挂载hostpath的pod中编辑文件,验证宿主机共享

进入pod

kubectl exec -it test-container-hostpath /bin/sh

进入挂载目录创建文件

cd /home/zhangzw/nfs-release/
touch 202204102130.txt

查看宿主机目录下是否有该文件
kubernetes 入门实践-存储-hostpath_第3张图片

使用hostpath挂载宿主机nfs目录

因为hostpath虽然能挂载宿主机,但仅限于node节点,多个节点上hostpath挂载的文件系统可能不同,所以为了挂载同一个文件系统,可以采用,在宿主机节点搭建nfs客户端,挂载同一个nfs服务端即可

搭建nfs服务器的文档链接,上面已经提供,按照文档步骤来搭建即可

验证hostpath和nfs存储

在挂载hostpath的pod中创建文件,再到nfs服务端查看文件是否存在

进入pod

kubectl exec -it test-container-hostpath /bin/sh

进入挂载目录创建文件

cd /home/zhangzw/nfs-release/
20220410-hostpath-nfs.txt

查看宿主机和nfs服务端文件情况

宿主机
kubernetes 入门实践-存储-hostpath_第4张图片
nfs服务端
kubernetes 入门实践-存储-hostpath_第5张图片

你可能感兴趣的:(linux,运维开发,kubernetes)