Configmap管理
所有文档

          容器引擎 CCE

          Configmap管理

          K8S 配置字典(ConfigMap)

          ConfigMap 是 K8S 的一种 API 对象,用来将非机密性的数据保存到健值对中,用户在 CCE 可以通过页面或 kubectl 方式管理 ConfigMap。

          通过页面管理 ConfigMap

          创建 ConfigMap

          进入“产品服务>容器引擎CCE->集群详情”,点击“配置存储>配置字典”,进入配置字典列表页面:

          image.png

          点击“新建配置字典”,用户可以通过 YAML 的形式创建新的配置字典,选择集群、命名空间,填写 YAML 文件,点击“确认”提交:

          image.png

          查看 ConfigMap

          点击列表页任何一行的配置字典名称,在右边栏弹出配置字典详情页:

          image.png

          删除配置字典

          在配置字典列表页面,勾选要删除的配置字典,点击“删除”按钮,确认信息后,点击“确认”:

          image.png

          修改配置字典

          在配置字典列表页面,点击“修改”按钮,完成修改后,点击“更新”提交,成功提交后返回列表页面:

          image.png

          通过 kubectl 管理 ConfigMap

          示例:ConfigMap

          apiVersion: v1
          kind: ConfigMap
          metadata:
            name: app-config
          data:
            config.json: |
              {
                  "Listener": 9443,
                  "MetricsAddress": "0",
                  "EnableLeaderElection": true,
                  "EnableClusterController": true,
                  "EnableInstanceController": true
              }

          Pod 将 ConfigMap 作为配置文件挂载:

          apiVersion: apps/v1
          kind: Deployment
          metadata:
            name: app-nginx
            labels:
              app: nginx
          spec:
            selector:
              matchLabels:
                app: nginx
            template:
              metadata:
                labels:
                  app: nginx
              spec:
                containers:
                  - name: nginx
                    image: hub.baidubce.com/cce/nginx-alpine-go:latest
                    volumeMounts:
                      - mountPath: /app/conf
                        name: app-config
                volumes:
                  - configMap:
                      defaultMode: 420
                      name: app-config
                    name: app-config

          上述 configmap app-config 对应的文件,会存在 Pod 的 /app/conf 目录下:

          # exec 进入容器:
          
          $ cat /app/conf/config.json 
          {
              "Listener": 9443,
              "MetricsAddress": "0",
              "EnableLeaderElection": true,
              "EnableClusterController": true,
              "EnableInstanceController": true
          }

          更新 ConfigMap 后,Pod 中的文件会在 1min 内自动更新

          上一篇
          网络管理
          下一篇
          Secret管理