Configmap管理
更新时间:2024-09-20
配置字典(ConfigMap)
ConfigMap 是 K8S 的一种 API 对象,用来将非机密性的数据保存到健值对中,用户在 CCE 可以通过页面或 kubectl 方式管理 ConfigMap。
通过页面管理 ConfigMap
创建 ConfigMap
进入“产品服务>容器引擎CCE->集群详情”,点击“配置存储>配置字典”,进入配置字典列表页面:
点击“新建配置字典”,用户可以通过 YAML 的形式创建新的配置字典,选择集群、命名空间,填写 YAML 文件,点击“确认”提交:
查看 ConfigMap
点击列表页任何一行的配置字典名称,在右边栏弹出配置字典详情页:
删除配置字典
在配置字典列表页面,勾选要删除的配置字典,点击“删除”按钮,确认信息后,点击“确认”:
修改配置字典
在配置字典列表页面,点击“修改”按钮,完成修改后,点击“更新”提交,成功提交后返回列表页面:
通过 kubectl 管理 ConfigMap
示例:ConfigMap
Plain Text
1apiVersion: v1
2kind: ConfigMap
3metadata:
4 name: app-config
5data:
6 config.json: |
7 {
8 "Listener": 9443,
9 "MetricsAddress": "0",
10 "EnableLeaderElection": true,
11 "EnableClusterController": true,
12 "EnableInstanceController": true
13 }
Pod 将 ConfigMap 作为配置文件挂载:
Plain Text
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 name: app-nginx
5 labels:
6 app: nginx
7spec:
8 selector:
9 matchLabels:
10 app: nginx
11 template:
12 metadata:
13 labels:
14 app: nginx
15 spec:
16 containers:
17 - name: nginx
18 image: registry.baidubce.com/cce/nginx-alpine-go:latest
19 volumeMounts:
20 - mountPath: /app/conf
21 name: app-config
22 volumes:
23 - configMap:
24 defaultMode: 420
25 name: app-config
26 name: app-config
上述 configmap app-config 对应的文件,会存在 Pod 的 /app/conf 目录下:
Plain Text
1# exec 进入容器:
2
3$ cat /app/conf/config.json
4{
5 "Listener": 9443,
6 "MetricsAddress": "0",
7 "EnableLeaderElection": true,
8 "EnableClusterController": true,
9 "EnableInstanceController": true
10}
更新 ConfigMap 后,Pod 中的文件会在 1min 内自动更新。