Kubernetes ConfigMaps 卷挂载问题
Kubernetes ConfigMaps Volume Mount issue
我无法使用多文件夹卷挂载来挂载 configmap。
我的volume-mount.yaml
的结构如下:
不起作用
apiVersion: v1
kind: Pod
metadata:
name: test-web
spec:
containers:
- name: test-web
image: docker.io/hello-world
volumeMounts:
- name: config-volume
mountPath: /usr/test
volumes:
- name: config-volume
configMap:
name: test-config-map
items:
- key: application.properties
path: test-web
- key: test.xml
path: test-web/configs/test_config
restartPolicy: Never
错误:
MountVolume.SetUp failed for volume "config-volume" : open /var/lib/kubelet/pods/93768c34-6dc6-11e8-9546-025000000001/volumes/kubernetes.io~configmap/config-volume/..2018_06_11_22_27_08.476420050/test-web: is a directory`
作品
apiVersion: v1
kind: Pod
metadata:
name: test-web
spec:
containers:
- name: test-web
image: docker.io/hello-world
volumeMounts:
- name: config-volume
mountPath: /usr/test
volumes:
- name: config-volume
configMap:
name: test-config-map
items:
- key: test.xml
path: test-web/configs/test_config
restartPolicy: Never
此外,configmap 正在以 root 用户身份挂载,因为我们希望以特定用户身份挂载卷。
你能告诉我我的 yaml 文件中可能缺少什么来解决上述 2 个问题吗?
在你的情况下,这应该很合适:
apiVersion: v1
kind: Pod
metadata:
name: test-web
spec:
containers:
- name: test-web
image: docker.io/hello-world
volumeMounts:
- name: config-volume-1
mountPath: /usr/test1
- name: config-volume-2
mountPath: /usr/test2
volumes:
- name: config-volume-1
configMap:
name: test-config-map
items:
- key: application.properties
path: test-web
- name: config-volume-2
configMap:
name: test-config-map
items:
- key: test.xml
path: test-web/configs/test_config
restartPolicy: Never
参考位于:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
我无法使用多文件夹卷挂载来挂载 configmap。
我的volume-mount.yaml
的结构如下:
不起作用
apiVersion: v1
kind: Pod
metadata:
name: test-web
spec:
containers:
- name: test-web
image: docker.io/hello-world
volumeMounts:
- name: config-volume
mountPath: /usr/test
volumes:
- name: config-volume
configMap:
name: test-config-map
items:
- key: application.properties
path: test-web
- key: test.xml
path: test-web/configs/test_config
restartPolicy: Never
错误:
MountVolume.SetUp failed for volume "config-volume" : open /var/lib/kubelet/pods/93768c34-6dc6-11e8-9546-025000000001/volumes/kubernetes.io~configmap/config-volume/..2018_06_11_22_27_08.476420050/test-web: is a directory`
作品
apiVersion: v1
kind: Pod
metadata:
name: test-web
spec:
containers:
- name: test-web
image: docker.io/hello-world
volumeMounts:
- name: config-volume
mountPath: /usr/test
volumes:
- name: config-volume
configMap:
name: test-config-map
items:
- key: test.xml
path: test-web/configs/test_config
restartPolicy: Never
此外,configmap 正在以 root 用户身份挂载,因为我们希望以特定用户身份挂载卷。
你能告诉我我的 yaml 文件中可能缺少什么来解决上述 2 个问题吗?
在你的情况下,这应该很合适:
apiVersion: v1
kind: Pod
metadata:
name: test-web
spec:
containers:
- name: test-web
image: docker.io/hello-world
volumeMounts:
- name: config-volume-1
mountPath: /usr/test1
- name: config-volume-2
mountPath: /usr/test2
volumes:
- name: config-volume-1
configMap:
name: test-config-map
items:
- key: application.properties
path: test-web
- name: config-volume-2
configMap:
name: test-config-map
items:
- key: test.xml
path: test-web/configs/test_config
restartPolicy: Never
参考位于:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/