【发布时间】:2021-08-27 06:53:38
【问题描述】:
我正在使用 Kubernetes。我想在容器中挂载本地(主机)卷。
但它不会挂载目录内的子目录。
这是我的 job.yaml 文件。
apiVersion: v1
kind: Pod
metadata:
name: ts-engine
spec:
containers:
- image: ts_engine:latest
name: ts-engine
imagePullPolicy: Never
command: ["/bin/bash", "-c","cd workspace && ls && echo '1234'&& cd .. && ls"]
volumeMounts:
- mountPath: /workspace
name: workspace
volumes:
- name: workspace
hostPath:
path: /workspace
type: Directory
这个 pod 的日志是这样的:
1234
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
workspace
显示“工作区”目录是空的,但实际上“工作区”中有一些目录。
对这种情况有什么想法吗?
【问题讨论】:
-
您使用的是哪个版本的 Kubernetes?您是如何部署集群的?
-
hostPath:从运行 pod 的节点挂载一个目录,这可能是多个副本的不同节点,或者如果一个 pod 被删除;你通常不想要它。没有办法将本地系统的磁盘挂载到 Kubernetes 集群中(除非在特定的本地开发人员导向设置中)。 -
我使用“kubectl apply -f job.yaml”来部署我的集群。
-
@DavidMaze 你的意思是在 kubernetes 节点之间使用“hostPath”吗?那么有没有办法把我的本地目录挂载到我的pod上呢?
-
我问的是你是如何部署集群的,而不是 Pod。您是否使用了一些云提供商或裸机安装?