qidao123.com ToB IT社区-企服评测·应用市场

 找回密码
 立即注册

Kubernetes(K8S) 配置管理-ConfigMap 介绍

[复制链接]
发表于 2022-12-2 22:18:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
作用:存储加密数据到 etcd,让 Pod 以变量或者 Volume 挂载到容器
场景:配置文件
创建配置文件

redis.properties
  1. redis.host=127.0.0.1
  2. redis.port=6379
  3. redis.password=123456
复制代码
创建 ConfigMap
  1. # 根据 redis.properties 创建 redis-config
  2. [root@k8smaster ~]# kubectl create configmap redis-config --from-file=redis.properties
  3. # 查看 configmap
  4. [root@k8smaster ~]# kubectl get cm
  5. # 查看 redis-config 的详情
  6. [root@k8smaster ~]# kubectl describe cm redis-config
复制代码
以 Volume 的形式进行挂载到 pod 容器

cm.yaml
  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4.   name: mypod
  5. spec:
  6.   containers:
  7.     - name: busybox
  8.       image: busybox
  9.       command: [ "/bin/sh","-c","cat /etc/config/redis.properties" ]
  10.       volumeMounts:
  11.       - name: config-volume
  12.         mountPath: /etc/config
  13.   volumes:
  14.     - name: config-volume
  15.       configMap:
  16.         name: redis-config
  17.   restartPolicy: Never
复制代码
  1. # 创建 yaml文件
  2. [root@k8smaster ~]# vi cm.yaml
  3. # 创建pod
  4. [root@k8smaster ~]# kubectl apply -f cm.yaml
  5. # 启动后可以查看日志日志
  6. [root@k8smaster ~]# kubectl logs mypod
复制代码
以变量的形式进行挂载

创建 yaml,声明变量信息 configmap 创建
myconfig.yaml
  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4.   name: myconfig
  5.   namespace: default
  6. data:
  7.   special.level: info
  8.   special.type: hello
复制代码
config-var.yaml
  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4.   name: mypod
  5. spec:
  6.   containers:
  7.     - name: busybox
  8.       image: busybox
  9.       command: [ "/bin/sh", "-c", "echo $(LEVEL) $(TYPE)" ]
  10.       env:
  11.         - name: LEVEL
  12.           valueFrom:
  13.             configMapKeyRef:
  14.               name: myconfig
  15.               key: special.level
  16.         - name: TYPE
  17.           valueFrom:
  18.             configMapKeyRef:
  19.               name: myconfig
  20.               key: special.type
  21.   restartPolicy: Never
复制代码
  1. [root@k8smaster ~]# vi myconfig.yaml
  2. [root@k8smaster ~]# kubectl apply -f myconfig.yaml
  3. # 以变量形式进行挂载
  4. [root@k8smaster ~]# vi config-var.yaml
  5. [root@k8smaster ~]# kubectl apply -f config-var.yaml
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录

QQ|手机版|qidao123.com IT社区;IT企服评测▪应用市场 ( 浙ICP备20004199|浙ICP备20004199号 )|网站地图

GMT+8, 2026-4-17 09:52 , Processed in 0.200028 second(s), 30 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表