ConfigMap管理
简介
通过 ConfigMap 您可以将配置和运行的镜像进行解耦,使得应用程序有更强的移植性。ConfigMap 是有 key-value 类型的键值对,您可以通过控制台的 Kubectl 工具创建对应的 ConfigMap 对象,也可以通过挂载数据卷、环境变量或在容器的运行命令中使用 ConfigMap。
ConfigMap 控制台操作指引
创建 ConfigMap
-
登录 TKE 控制台。
-
进入集群管理页面:在左侧导航栏中,单击【集群】。
-
选择集群:单击需要创建 ConfigMap 的集群【ID/名称】,进入待创建 ConfigMap 的集群管理页面。
-
选择 ConfigMap:选择【配置管理】 > 【ConfigMap】,进入“ConfigMap”信息页面。
-
新建 ConfigMap:单击【新建】,进入“新建 ConfigMap”页面。
-
设置参数:根据实际需求,设置 ConfigMap 参数。关键参数信息如下:
- 名称:自定义。
- 命名空间:根据实际需求进行选择命名空间类型,定义变量名和变量值。
- 导入文件:也可以选择导入文件的方式进行创建。
-
完成创建:单击【创建 ConfigMap】,完成创建。
使用 ConfigMap
方式一:数据卷使用 ConfigMap 类型
-
登录 TKE 控制台。
-
进入集群管理页面:在左侧导航栏中,单击【集群】。
-
选择集群:单击需要部署 Workload 的集群【ID/名称】,进入待部署 Workload 的集群管理页面。
-
选择 Workload 类型:在【工作负载】下,任意选择 Workload 类型,进入对应的信息页面。例如,选择【工作负载】 > 【DaemonSet】,进入“DaemonSet”信息页面。
-
新建 Workload:单击【新建】,进入“新建 Workload”页面。
-
设置工作负载信息:根据页面信息,设置工作负载名、命名空间等信息。并在【数据卷】中,单击【添加数据卷】,添加数据卷。
-
使用 ConfigMap:选择【使用 ConfigMap】方式,填写名称,单击【选择配置项】。
-
配置挂载点:在弹出的“设置 ConfigMap”窗口中,配置挂载点,单击【确认】。
-
完成创建:单击【创建 Workload】,完成创建。
方式二:环境变量中使用 ConfigMap 类型
-
登录 TKE 控制台。
-
进入集群管理页面:在左侧导航栏中,单击【集群】。
-
选择集群:单击需要部署 Workload 的集群【ID/名称】,进入待部署 Workload 的集群管理页面。
-
选择 Workload 类型:在【工作负载】下,任意选择 Workload 类型,进入对应的信息页面。例如,选择【工作负载】 > 【DaemonSet】,进入“DaemonSet”信息页面。
-
新建 Workload:单击【新建】,进入“新建 Workload”页面。
-
设置环境变量:根据页面信息,设置工作负载名、命名空间等信息。并在 “实例内容器” 的 “环境变量” 中,单击【引用 ConfigMap/Secret】。
-
选择 ConfigMap:选择 “ConfigMap” 环境变量方式,并根据实际需求选择资源。
-
完成创建:单击【创建 Workload】,完成创建。
更新 ConfigMap
- 登录 TKE 控制台。
- 进入集群管理页面:在左侧导航栏中,单击【集群】。
- 选择集群:单击需要更新 YAML 的集群【ID/名称】,进入待更新 YAML 的集群管理页面。
- 选择 ConfigMap:选择【配置管理】 > 【ConfigMap】,进入“ConfigMap”信息页面。
- 编辑 YAML:在需要更新 YAML 的 ConfigMap 行中,单击【编辑 YAML】,进入“更新 ConfigMap”页面。
- 完成更新:在“更新 ConfigMap”页面,编辑 YAML,单击【完成】,即可更新 YAML。
说明:如需修改 key-values,编辑 YAML 中 data 的参数值,单击【完成】,即可完成更新。
Kubectl 操作 ConfigMap 指引
YAML 示例
apiVersion: v1
data:
key1: value1
key2: value2
key3: value3
kind: ConfigMap
metadata:
name: test-config
namespace: default
- data:ConfigMap 的数据,以 key-value 形式呈现。
- kind:标识 ConfigMap 资源类型。
- metadata:ConfigMap 的名称、Label 等基本信息。
- metadata.annotations:ConfigMap 的额外说明,可通过该参数设置 TKE 的额外增强能力。
创建 ConfigMap
方式一:通过 YAML 示例文件方式创建
-
准备 YAML 文件:参考 YAML 示例,准备 ConfigMap YAML 文件。
-
安装 Kubectl:安装 Kubectl,并连接集群。操作详情请参考 通过 Kubectl 连接集群。
-
创建 ConfigMap:执行以下命令,创建 ConfigMap YAML 文件。
kubectl create -f ConfigMap YAML 文件名称
例如,创建一个文件名为 web.yaml 的 ConfigMap YAML 文件,则执行以下命令:
kubectl create -f web.yaml
-
验证创建:执行以下命令,验证创建是否成功。
返回类似以下信息,即表示创建成功:
NAME DATA AGE
test 2 39d
test-config 3 18d
方式二:通过执行命令方式创建
执行以下命令,在目录中创建 ConfigMap。
kubectl create configmap <map-name> <data-source>
<map-name>
:表示 ConfigMap 的名字。<data-source>
:表示目录、文件或者字面值。
更多参数详情可参见 Kubernetes configMap 官方文档。
使用 ConfigMap
方式一:数据卷使用 ConfigMap 类型
YAML 示例:
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: test-config ## 设置 ConfigMap 来源
## items: ## 设置指定 ConfigMap 的 Key 挂载
## - key: key1 ## 选择指定 Key
## - path: keys ## 挂载到指定的子路径
restartPolicy: Never
方式二:环境变量中使用 ConfigMap 类型
YAML 示例:
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:latest
env:
- name: key1
valueFrom:
configMapKeyRef:
name: test-config ## 设置来源 ConfigMap 文件名
key: test-config.key1 ## 设置该环境变量的 Value 来源项
restartPolicy: Never