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

打印 上一主题 下一主题

主题 517|帖子 517|积分 1551

作用:存储不加密数据到 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
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

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

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!

标签云

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