在卷安装目录中找不到文件
Can't find files inside volume mount directory
我有一个 mysql 容器,我正在通过 k8s 部署,我正在其中安装一个包含脚本的目录,一旦 pod 启动并且 运行ning 计划是执行它脚本。
apiVersion: apps/v1
kind: Deployment
spec:
replicas: 1
template:
spec:
volumes:
- name: mysql-stuff
hostPath:
path: /home/myapp/scripts
type: Directory
containers:
- name: mysql-db
image: mysql:latest
volueMounts:
- name: mysql-stuff
mountPath: /scripts/
一旦我准备好了 运行ning 和 运行 kubectl exec -it mysql-db -- bin/sh
和 ls scripts
它 returns 什么都没有,应该在里面的脚本是不在那里,我无法弄清楚为什么..为了让这个工作,我没有添加任何安全上下文,并且 运行 将容器设置为 root。任何帮助将不胜感激。
因为你是 运行 你在 minikube 集群中的 pod。 Minikube 本身是 运行 在 VM 中,所以这里的路径映射意味着 minikube VMs 的路径而不是你的实际主机。
但是您可以将您的实际主机路径映射到 minikube 路径,然后它就可以访问了。
minikube mount /home/myapp/scripts:/home/myapp/scripts
我有一个 mysql 容器,我正在通过 k8s 部署,我正在其中安装一个包含脚本的目录,一旦 pod 启动并且 运行ning 计划是执行它脚本。
apiVersion: apps/v1
kind: Deployment
spec:
replicas: 1
template:
spec:
volumes:
- name: mysql-stuff
hostPath:
path: /home/myapp/scripts
type: Directory
containers:
- name: mysql-db
image: mysql:latest
volueMounts:
- name: mysql-stuff
mountPath: /scripts/
一旦我准备好了 运行ning 和 运行 kubectl exec -it mysql-db -- bin/sh
和 ls scripts
它 returns 什么都没有,应该在里面的脚本是不在那里,我无法弄清楚为什么..为了让这个工作,我没有添加任何安全上下文,并且 运行 将容器设置为 root。任何帮助将不胜感激。
因为你是 运行 你在 minikube 集群中的 pod。 Minikube 本身是 运行 在 VM 中,所以这里的路径映射意味着 minikube VMs 的路径而不是你的实际主机。
但是您可以将您的实际主机路径映射到 minikube 路径,然后它就可以访问了。
minikube mount /home/myapp/scripts:/home/myapp/scripts