ConfigMap
 - 1、作用
 - 2、以volume形式进行挂载
 - 2.1 创建配置文件
 - 2.2 创建ConfigMap文件
 - 2.3 最终的yaml文件
 
 - 3、以变量形式进行挂载
 - 3.1 创建configmap文件
 - 3.2 书写最终yaml文件
 
 
 
  
 
1、作用
 
- 存储不加密的数据到etcd中,以变量或者volume形式挂载到pod的容器中
 - 场景:配置文件
 
 
2、以volume形式进行挂载
 
2.1 创建配置文件
 
[root@master k8sconfigmap]
[root@master k8sconfigmap]
redis.host=127.0.0.1
redis.port=6379
redis.password=123456
 
2.2 创建ConfigMap文件
 
[root@master k8sconfigmap]
configmap/redis-config created
[root@master k8sconfigmap]
NAME               DATA   AGE
kube-root-ca.crt   1      62d
redis-config       1      8s
[root@master k8sconfigmap]
Name:         redis-config
Namespace:    default
Labels:       <none>
Annotations:  <none>Data
====
redis.properties:
----
redis.host=127.0.0.1
redis.port=6379
redis.password=123456Events:  <none>
 
2.3 最终的yaml文件
 
[root@master k8sconfigmap]
[root@master k8sconfigmap]
apiVersion: v1
kind: Pod
metadata:name: mypod
spec:containers:- name: busyboximage: busyboxcommand: ["/bin/sh","-c","cat /etc/config/redis.properties"]volumeMounts:- name: config-volumemountPath: /etc/configvolumes:- name: config-volumeconfigMap:name: redis-configrestartPolicy: Never
[root@master k8sconfigmap]
pod/mypod created
[root@master k8sconfigmap]
NAME    READY   STATUS      RESTARTS   AGE
mypod   0/1     Completed   0          7s
[root@master k8sconfigmap]
redis.host=127.0.0.1
redis.port=6379
redis.password=123456
 
3、以变量形式进行挂载
 
3.1 创建configmap文件
 
[root@master k8sconfigmap]
apiVersion: v1
kind: ConfigMap
metadata:name: myconfignamespace: default
data:special.level: infospecial.type: hello
[root@master k8sconfigmap]
kube-root-ca.crt  myconfig          
[root@master k8sconfigmap]
NAME       DATA   AGE
myconfig   2      37s
[root@master k8sconfigmap]
Name:         myconfig
Namespace:    default
Labels:       <none>
Annotations:  <none>Data
====
special.level:
----
info
special.type:
----
hello
Events:  <none>
 
3.2 书写最终yaml文件
 
[root@master k8sconfigmap]
apiVersion: v1
kind: Pod
metadata:name: mypod
spec:containers:- name: busyboximage: busyboxcommand: [ "/bin/sh", "-c", "echo $(LEVEL) $(TYPE)" ]env:- name: LEVELvalueFrom:configMapKeyRef:name: myconfigkey: special.level- name: TYPEvalueFrom:configMapKeyRef:name: myconfigkey: special.typerestartPolicy: Never
[root@master k8sconfigmap]
NAME    READY   STATUS      RESTARTS   AGE
mypod   0/1     Completed   0          35s
[root@master k8sconfigmap]
info hello