小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap( 三 )

[root@k8s-master ~]# kubectl get pod
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap[root@k8s-master ~]# kubectl logs test-pod
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap3、通过volumeMount使用ConfigMap
网站目录:/usr/share/nginx/html
(1) 创建ConfigMap
[root@k8s-master ~]# mkdir /data/[root@k8s-master ~]# echo "welcome to dodo web server" > /data/index.html[root@k8s-master ~]# kubectl create configmap test-map --from-file=/data/
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap[root@k8s-master ~]# kubectl get configmaps test-map
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap(2)创建Pod使用ConfigMap
[root@k8s-master ~]# vim test-pod.yaml添加:apiVersion: v1kind: Podmetadata:name: test-podspec:containers:- name: test-podimage: nginx:1.16ports:- name: httpcontainerPort: 80volumeMounts:- name: test-volumemountPath: /usr/share/nginx/htmlvolumes:- name: test-volumeconfigMap:##挂载configMapname: test-map##指定configMap的名称
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap[root@k8s-master ~]# kubectl apply -f test-pod.yaml
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap[root@k8s-master ~]# kubectl get pod -o wide
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap[root@k8s-master ~]# kubectl exec -it test-pod -- sh
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap访问web服务
[root@k8s-master ~]# curl 10.244.41.2
小熊回收站|《蹲坑学kubernetes》之17-19:ConfigMap三、ConfigMap的使用限制
ConfigMap必须在Pod之前创建(除非您把 ConfigMap 标志成”optional”) 。 如果您引用了一个不存在的 ConfigMap ,那这个Pod是无法启动的 。 就像引用了不存在的 Key 会导致 Pod 无法启动一样 。
ConfigMap受Namespace限制 , 只有处于相同的Namespace中的Pod可以引用它;
ConfigMap中的配额管理还未能实现;
kubelet值支持可以被API Server管理的Pod使用ConfigMap 。 kubelet在当前Node上通过 --manifest-url 或 --config 自动创建的静态Pod将无法引用ConfigMap;
在Pod对ConfigMap进行挂载(volumeMount)操作时 , 容器内部只能挂载为目录 , 无法挂载为文件 。
四、kubernetes集群中Secret与ConfigMap区别:


推荐阅读