赞
踩
今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes hostPath存储卷。
hostPath存储卷,就是把Pod所在的宿主机上的一个目录挂载到Pod容器上,这样,在Pod被删除后,hostPath中的数据依然存在。
执行命令:
kubectl explain pods.spec.volume.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存储卷的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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。