Kubernetes提供了多种类型的卷including emptyDir
:
当Pod被分配给节点时,首先创建
emptyDir
卷,只要Pod在该节点上运行,就会存在。顾名思义,它最初是空的。 pod中的容器都可以在emptyDir
卷中读取和写入相同的文件,尽管该卷可以安装在每个容器中相同或不同的路径上。当出于任何原因从节点中删除Pod时,emptyDir
中的数据将永久删除。...
默认情况下,emptyDir卷存储在支持节点的任何介质上。
emtpyDir
是否实际安装在节点上,并且可以访问pod之外的容器,还是节点FS本身?
答案 0 :(得分:10)
是的,它也可以在节点上访问。它被绑定安装到容器中(有点)。源目录位于 /var/lib/kubelet/pods/PODUID/volumes/kubernetes.io~empty-dir/VOLUMENAME
您可以在主机上找到这样的位置:
sudo ls -l /var/lib/kubelet/pods/`kubectl get pod -n mynamespace mypod -o 'jsonpath={.metadata.uid}'`/volumes/kubernetes.io~empty-dir
答案 1 :(得分:0)
您可以使用此命令列出主机上的所有emptyDir卷
df
仅查看映射到特定卷的卷
df | grep -i cache-volume
其中 cache-volume 是pod定义中的卷名称
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: k8s.gcr.io/test-webserver
name: test-container
volumeMounts:
- mountPath: /cache
name: cache-volume
volumes:
- name: cache-volume
emptyDir: {}