【发布时间】:2020-10-11 00:02:36
【问题描述】:
全部,
我部署了下面的 yaml 文件并部署了它。我正在学习 Volume、VolumeMount 和 MountPath。
我看到容器的挂载路径中指定的 containerdrive 文件夹(我做了一个 kubectl exec -it podname)和 containerdrive 我希望看到这些文件在 HostPath 的 Path 中指定的文件夹“/home/rgn/kubernetes/scripts”中。但事实并非如此,实际上 containerdrive 是空的。
看来我对 Volume、VolumeMount 和 MountPath 的理解是错误的。我错过了什么?有人能指出我正确的方向吗?
谢谢, rgn
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.15.4
ports:
- containerPort: 80
volumeMounts:
- mountPath: /containerdrive
name: test-volume
volumes:
- name: test-volume
hostPath:
# directory location on host
path: /home/rgn/kubernetes/scripts
# this field is optional
# type: DirectoryOrCrate
【问题讨论】:
-
你能在那个目录中创建任何东西吗?在容器中,或者你得到权限错误?
-
hostPath设置是指运行容器的节点上的非容器目录。它不是指向本地系统的指针,并且可能是不同时间点的不同节点。通常你只将hostPath卷与日志收集器之类的东西一起使用。包含此类内容(尤其是小规模内容)的最简单方法是将其包含在您正在运行的图像中。
标签: kubernetes yaml kubectl kubernetes-pod