问题描述
Kubernetes中的volumes挂载类型为emptyDir时,怎么查看其对应的宿主机目录?
问题原因
容器中一些命令不支持,操作数据卷中的文件不方便,需要查看其在物理机上对应映射的数据目录进行操作。
解决方案
- 查看Pod里业务容器名字的命令
root@nc7l3ipersfeprqmefua0:~# echo `kubectl get pods redis -o jsonpath={.spec.containers[*].name}`
redis
- 对应的worker节点查看当前节点的容器列表
root@nc7o2hv6rsfeprqmeg3sg:~# crictl ps | grep redis
9ce663b3344e0 f1b6973564e91 4 hours ago Running redis 0 38856ee7f3d77
- 查看容器内挂载目录/data/redis所对应的物理机目录信息即hostPath对应的路径信息
root@nc7o2hv6rsfeprqmeg3sg:~# crictl inspect 9ce663b3344e0 | grep -A1 '"containerPath": "/data/redis"'
"containerPath": "/data/redis",
"hostPath": "/var/lib/kubelet/pods/7699a759-2712-4266-b1ad-92c6856cfafb/volumes/kubernetes.io~empty-dir/redis-storage",
参考文档
[1] https://kubernetes.io/zh/docs/tasks/configure-pod-container/configure-volume-storage/ 如果您有其他问题,欢迎您联系火山引擎技术支持服务