Kubernetes --(k8s)volume 数据管理
容器的磁盘的生命周期是短暂的,这就带来了许多问题;第一:当一个容器损坏了,kubelet会重启这个容器,但是数据会随着container的死亡而丢失;第二:当很多容器在同一Pod中运行的时候,经常需要数据共享。kubernets Volume解决了这些问题
kubernets volume的四种类型
1.emtyDir
2.hostPath
3.NFS
4.pv/pvc
https://www.kubernetes.org.cn/kubernetes-volumes
emtyDir
第一步:编写yml文件
vim nginx-empty.yml
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
volumeMounts:- name: wu # 对应
mountPath: /usr/share/nginx/html
volumes:
- name: wu # 对应
- name: wu # 对应
emptyDir: {}
第二步:运行yml文件
kubectl apply -f nginx-empty.yml
第三步:查看pod
kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx 1/1 Running 0 7m18s 10.244.2.14 node3
第四步:到node3节点查看容器详细信息
docker ps
docker inspect 9c3ed074fb29| grep “Mounts” -A 8
“Mounts”: [
{
“Type”: “bind”,
“Source”: “/var/lib/kubelet/pods/2ab6183c-eddd-44eb-9e62-ded5106d1d1a/volumes/kubernetes.io~empty-dir/wu”,
“Destination”: “/usr/share/nginx/html”,
“Mode”: “Z”,
“RW”: true,
“Propagation”: “rprivate”
},
第五步:写入内容
cd /var/lib/kubelet/pods/2ab6183c-eddd-44eb-9e62-ded5106d1d1a/volumes/kubernetes.io~empty-dir/wu
ls
echo “empty test” >>