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