Kubernetes详解(三十五)——Kubernetes hostPath存储卷

今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes hostPath存储卷。

一、hostPath存储卷简介

hostPath存储卷,就是把Pod所在的宿主机上的一个目录挂载到Pod容器上,这样,在Pod被删除后,hostPath中的数据依然存在。
执行命令:

kubectl explain pods.spec.volume.hostPath

可以查看hostPath存储卷的基本配置,该命令执行结果如下所示:
在这里插入图片描述

二、hostPath存储卷创建

接下来,我们就进行hostPath存储卷的创建。
首先, 我们在本地设备上创建一个目录,作为hostPath存储卷的挂载目录,并且在该目录下写入内容用作下一步hostPath挂载的检测,执行命令:

mkdir -p /k8s/hostPath
echo "Pod with hostPath" > /k8s/hostPath/index.html

如下所示:
在这里插入图片描述
之后,我们开始创建资源配置清单,创建pod-with-hostPath.yaml文件,并写入如下内容:

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-hostpath
  namespace: default
  labels:
    pod: myapp
    vol: hostpath
spec:
  containers:
  - name: myapp
    image: ikubernetes/myapp:v1
    ports:
    - name: http
      containerPort: 80
    volumeMounts:
    - name: html
      mountPath: /usr/share/nginx/html/
  volumes:
  - name: html
    hostPath:
      path: /k8s/hostPath/
      type: DirectoryOrCreate

配置完成后如下所示:
在这里插入图片描述
在上述配置中,前面的基本配置和Kubernetes详解(三十四)——Kubernetes emptyDir存储卷基本相同,在这里就不过多赘述了,但是在volumes中,我们使用的是hostPath类型的存储卷,在该参数下,path参数指定了我们hostPath要挂载到的本地目录。
之后,我们执行命令:

kubectl apply -f pod-with-hostPath.yaml

即可以创建该Pod,执行结果如下:
在这里插入图片描述

三、hostPath存储卷查看

在配置hostPath存储卷的Pod被创建后,我们就可以进行效果的查看了。
首先,我们执行命令:

kubectl get pods -o wide

来查看Pod的基本信息,结果如下所示:
在这里插入图片描述
之后,我们访问该Pod节点,执行命令:

curl 10.10.2.71

执行结果如下:
在这里插入图片描述
从上图中可以看出,我们对该Pod的访问结果是我们在本地/k8s/hostPath/index.html文件中的内容,我们的hostPath存储卷配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/124428595