kubernetes——存储之ConfigMap配置管理
一、configmap简介
- configmap用于保存配置数据,以键值对形式存储。
- configmap 资源提供了向 Pod 注入配置数据的方法。
- 旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。
- 典型的使用场景:
(1)填充环境变量的值
(2)设置容器内的命令行参数
(3)填充卷的配置文件
二、创建configmap
- 创建ConfigMap的方式有4种
1、使用字面值创建
kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2
kubectl get cm
kubectl describe cm my-config
2、使用文件创建
- key的名称是文件名称,value的值是这个文件的内容
kubectl create configmap my-config-2 --from-file=/etc/resolv.conf
kubectl get cm
kubectl describe cm my-config-2
3、使用目录创建
- 目录中的文件名为key,文件内容是value
mkdir -p configmap/test
cd configmap/
cp /etc/passwd test/
cp /etc/fstab test/
kubectl create configmap my-config-3 --from-file=test
kubectl get cm
kubectl describe cm my-config-3
4、编写configmap的yaml文件
vim cm1.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: cm1-config
data:
db_host: "172.25.36.250"
db_port: "3306"
kubectl apply -f cm1.yaml
kubectl get cm cm1-config
kubectl describe cm cm1-config