【发布时间】:2020-04-13 20:09:33
【问题描述】:
我使用 configMap 来存储挂载路径值,但是当我在我的 pod 中调用时它不起作用,似乎 mountPath 属性无法分配给 env 变量。
这是我的代码:
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.7.9
ports:
- containerPort: 80
env:
- name: MOUNT_PATH
valueFrom:
configMapKeyRef:
name: my-configMap
key: MOUNT_PATH
volumeMounts:
- name: nginx-volume
mountPath: $(MOUNT_PATH)
volumes:
- name: nginx-volume
persistentVolumeClaim:
claimName: my-pvc
---
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configMap
namespace: default
data:
MOUNT_PATH: "/opt/somepath"
【问题讨论】:
-
AFAIK,环境变量用于在容器中运行的进程,而不是在部署时评估。同样,AFAIK,您尝试执行的操作无法使用 configmap。
-
@BurakSerdar 有没有其他方法可以动态传递 mountPath 值?
-
您可以在部署期间使用 kustomize 进行设置