Kubernetes是否在主机上安装了emtpyDir卷?

时间:2017-10-02 12:02:08

标签: kubernetes

Kubernetes提供了多种类型的卷including emptyDir

  

当Pod被分配给节点时,首先创建emptyDir卷,只要Pod在该节点上运行,就会存在。顾名思义,它最初是空的。 pod中的容器都可以在emptyDir卷中读取和写入相同的文件,尽管该卷可以安装在每个容器中相同或不同的路径上。当出于任何原因从节点中删除Pod时,emptyDir中的数据将永久删除。

     

...

     

默认情况下,emptyDir卷存储在支持节点的任何介质上。

emtpyDir是否实际安装在节点上,并且可以访问pod之外的容器,还是节点FS本身?

2 个答案:

答案 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: {}