容器服务 ConfigMap

通过 ConfigMap 可以以将配置和运行的镜像进行解耦,使得应用程序有更强的移植性。ConfigMap 是有 key-value 类型的键值对,可以以通过控制台的 Kubectl 工具创建对应的 ConfigMap 对象,也可以通过挂载数据卷、环境变量或在容器的运行命令中使用 ConfigMap。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

一、创建 ConfigMap

1. 登录 容器服务控制台,选择左侧导航栏中的集群。

2. 选择目标集群 ID,进入集群基本信息页。

3. 选择左侧导航栏中的配置管理,在 ConfigMap 页面单击新建。

4. 在新建配置管理页面,根据实际需求,设置 ConfigMap 参数。关键参数信息如下:

·名称:自定义。

·命名空间:根据实际需求进行选择命名空间类型,定义变量名和变量值。

·内容:添加变量名和变量值。

5. 单击创建 ConfigMap,完成创建。

二、方式1:数据卷使用 ConfigMap 类型

1. 登录 容器服务控制台,选择左侧导航栏中的集群。

2. 选择目标集群 ID,进入集群基本信息页面。

3. 选择左侧导航栏中的工作负载,任意选择 Workload 类型,进入对应的信息页面。例如,选择 DaemonSet 页签。

4. 在 DaemonSet 页面,单击新建。

5. 在新建工作负载页面,根据页面信息,设置工作负载名、命名空间等信息。并在 “数据卷” 中,单击添加数据卷。如下:

6. 在新增数据卷中,参考以下信息配置挂载点,并单击确认。如下:


·数据卷类型:选择 “使用ConfigMap” 方式。

·数据卷名称:自定义名称。

·选择 ConfigMap:根据实际需求进行选择。

·选项:提供“全部”和“指定部分 Key” 两种选择。

·Items:当选择“指定部分 Key” 选项时,可以通过添加 item 向特定路径挂载,如挂载点是 /data/config,文件名是 filename,最终该键值对的值会存储在 /data/config/filename 下。

7. 单击创建 DaemonSet,完成创建。

三、方式2:环境变量中使用 ConfigMap 类型

1. 登录 容器服务控制台,选择左侧导航栏中的集群。

2. 选择目标集群 ID,进入集群基本信息页面。

3. 选择左侧导航栏中的工作负载,任意选择 Workload 类型,进入对应的信息页面。例如,选择 DaemonSet 页签。

4. 在 DaemonSet 页面,单击新建。

5. 在新建工作负载页面,根据页面信息,设置工作负载名、命名空间等信息。

6. 在实例内容器的环境变量中,单击新增变量。如下:

7. 选择 ConfigMap 环境变量方式,并根据实际需求选择资源。如下:

8. 单击创建 DaemonSet,完成创建。

四、更新 ConfigMap

1. 登录 容器服务控制台,选择左侧导航栏中的集群。

2. 选择目标集群 ID,进入集群基本信息页。

3. 选择左侧导航栏中的配置管理,在 ConfigMap 页面,单击需要更新的 ConfigMap 行右侧的更新配置。

4. 在更新配置页面,编辑 key-value 类型的键值对,单击更新 ConfigMap。


五、YAML 示例

apiVersion: v1data: key1: value1 key2: value2 key3: value3kind: ConfigMapmetadata: name: test-config namespace: default

说明:

·data:ConfigMap 的数据,以 key-value 形式呈现。

·kind:标识 ConfigMap 资源类型。

·metadata:ConfigMap 的名称、Label 等基本信息。

·metadata.annotations:ConfigMap 的额外说明,可通过该参数设置腾讯云 TKE 的额外增强能力。

六、方式1:通过 YAML 示例文件方式创建

1. 参考 YAML 示例,准备 ConfigMap YAML 文件。

2. 安装 Kubectl,并连接集群。操作详情请参考 通过 Kubectl 连接集群。

3. 执行以下命令,创建 ConfigMap YAML 文件。

kubectl create -f ConfigMap YAML 文件名称

例如,编辑文件,执行以下命令:

vim web.yaml

创建一个文件名为 web.yaml 的 ConfigMap YAML 文件,则执行以下命令:

kubectl create -f web.yaml

4. 执行以下命令,验证创建是否成功。

kubectl get configmap

返回类似以下信息,即表示创建成功。

NAME DATA AGEtest 2 39dtest-config 3 18d

七、方式2:通过执行命令方式创建

执行以下命令,在目录中创建 ConfigMap。

kubectl create configmap <map-name> <data-source>

·<map-name>:表示 ConfigMap 的名字。

·<data-source>:表示目录、文件或者字面值。

更多参数详情可参见 Kubernetes ConfigMap 产品文档。

八、方式1:数据卷使用 ConfigMap 类型

YAML 示例如下:

apiVersion: v1kind: Podmetadata: name: nginx1spec: 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

九、方式2:环境变量中使用 ConfigMap 类型

YAML 示例如下:

apiVersion: v1kind: Podmetadata: name: nginxspec: containers: – name: nginx image: nginx:latest env: – name: key1 valueFrom: configMapKeyRef: name: test-config ## 设置来源 ConfigMap 文件名 key: test-config.key1 ## 设置该环境变量的 Value 来源项 restartPolicy: Never

赞 (0)
上一篇 4天前
下一篇 4天前