Kubernetes 从mountPath获取configMap的值
我用这种方式创建了configmapKubernetes 从mountPath获取configMap的值,kubernetes,volumes,configmap,Kubernetes,Volumes,Configmap,我用这种方式创建了configmap kubectl create configmap some-config --from-literal=key4=value1 在那之后,我创建了一个看起来像这样的豆荚 我用这种方式连接到这个吊舱 k exec -it nginx-configmap -- /bin/sh 我找到了文件夹/some/path,但我可以从键4获得值。如果您在Pod中以这种方式引用ConfigMap: apiVersion: v1 kind: Pod metadata:
kubectl create configmap some-config --from-literal=key4=value1
在那之后,我创建了一个看起来像这样的豆荚
我用这种方式连接到这个吊舱
k exec -it nginx-configmap -- /bin/sh
我找到了文件夹
/some/path
,但我可以从键4获得值。如果您在Pod中以这种方式引用ConfigMap
:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: myfrontend
image: nginx
volumeMounts:
- mountPath: "/var/www/html"
name: config-volume
volumes:
- name: config-volume
configMap:
name: some-config
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: myfrontend
image: nginx
envFrom:
- configMapRef:
name: some-config
它将在您的Pod
中作为文件/var/www/html/key4
提供,内容为value1
如果您更希望它作为一个环境变量可用,您需要以以下方式引用它:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: myfrontend
image: nginx
volumeMounts:
- mountPath: "/var/www/html"
name: config-volume
volumes:
- name: config-volume
configMap:
name: some-config
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: myfrontend
image: nginx
envFrom:
- configMapRef:
name: some-config
正如您所看到的,您不需要任何卷和卷装载
一旦通过运行连接到此类Pod
:
kubectl exec -ti mypod -- /bin/bash
您将看到您的环境变量已定义为:
root@mypod:/# echo $key4
value1
对于文字值的用法,请您尝试过ls/some/path/
来验证它吗?是的,我尝试过。结果是key4。key4文件的内容应具有值1i我尝试了echo$key4命令,但当我尝试cat key4时,命令行显示值value1。谢谢