40-存储-ConfigMap
2022-02-19 本文已影响0人
紫荆秋雪_文
k8s系统存储挂载原理.png
一、ConfigMap
ConfigMap用来将非机密性的数据保存到键值对中。使用时,Pods可以将其用作环境变量、命令行参数或者存储卷中的配置文件
ConfigMap
将环境配置信息和容器镜像解耦,便于应用配置的修改
1、创建ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: cm-01
namespace: raven
data:
user_name: admin
pass_word: admin12345
user.properties: |
color.good=purple
color.bad=yellow
2、在Pod中使用ConfigMap
apiVersion: v1
kind: Pod
metadata:
name: "config-demo"
namespace: raven
labels:
app: "config-demo"
spec:
containers:
- name: config-demo
image: nginx
env:
- name: user_info # 定义的环境变量
valueFrom:
configMapKeyRef:
key: user_name # configMap 资源中的键
name: cm-01 # 必须引用真实存在的 configMap 资源
- name: user_properties # 定义的环境变量
valueFrom:
configMapKeyRef:
key: user.properties # configMap 资源中的键
name: cm-01 # 必须引用真实存在的 configMap 资源
volumeMounts: # 在Pod中引用卷
- name: config # 下面挂载卷名称
mountPath: app # 挂载到容器中的目录
readOnly: true
volumes:
- name: config # 给configMap资源在Pod重新取个卷名称
configMap:
name: cm-01 # 必须引用真实存在的 configMap 资源
容器中挂载ConfigMap.png