Kubernetes 1.20.5实验记录–数据卷和数据持久化(emptyDir&Hostpath)
1.1 emptyDir
1、创建Pod:
文件emptydir-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: emptydir-pod
spec:
containers:
- name: producer
image: busybox
volumeMounts:
- name: shared-volume
mountPath: /producer_dir
args:
- /bin/sh
- -c
- echo "hello world" > /producer_dir/hello ; sleep 3000
- name: consumer
image: busybox
volumeMounts:
- name: shared-volume
mountPath: /consumer_dir
args:
- /bin/sh
- -c
- cat /consumer_dir/hello ; sleep 3000
volumes:
- name: shared-volume
emptyDir: {}
kubectl apply -f emptydir-pod.yaml
2、查看Pod日志:
kubectl logs emptydir-pod consumer
3、查看Pod状态:
kubectl get pod -o wide
4、查看容器id:
docker ps | grep busybox
5、查看容器挂载信息:
docker inspect b583a348a209
ll /var/lib/kubelet/pods/57f99e46-c5fb-48b1-a0d2-cca81ea6c68b/volumes/kubernetes.io~empty-dir/shared-volume
cat /var/lib/kubelet/pods/57f99e46-c5fb-48b1-a0d2-cca81ea6c68b/volumes/kubernetes.io~empty-dir/shared-volume/hello
docker inspect ab64497a1591
ll /var/lib/kubelet/pods/57f99e46-c5fb-48b1-a0d2-cca81ea6c68b/volumes/kubernetes.io~empty-dir/shared-volume
cat /var/lib/kubelet/pods/57f99e46-c5fb-48b1-a0d2-cca81ea6c68b/volumes/kubernetes.io~empty-dir/shared-volume/hello
6、删除Pod:
kubectl delete -f emptydir-pod.yaml
1.2 Hostpath
1、创建Pod:
文件hostpath-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: hostpath-pod
spec:
containers:
- name: logger
image: busybox
volumeMounts:
- name: varlog
mountPath: /var/log
args:
- /bin/sh
- -c
- echo "hello logger" > /var/log/logger ; sleep 3000
volumes:
- name: varlog
hostPath:
path: /var/log
kubectl apply -f hostpath-pod.yaml
2、查看Pod中/var/log/logger文件:
kubectl exec hostpath-pod -- cat /var/log/logger
3、查看Pod状态:
kubectl get pod -o wide
4、查看Worker节点/var/log/logger文件:
ll /var/log/logger
cat /var/log/logger
5、删除Pod:
kubectl delete -f hostpath-pod.yaml