简介
通过 ConfigMap 您可以将配置和运行的镜像进行解耦,使得应用程序有更强的移植性。ConfigMap 是有 key-value 类型的键值对,您可以通过控制台的 Kubectl 工具创建对应的 ConfigMap 对象,也可以通过挂载数据卷、环境变量或在容器的运行命令中使用 ConfigMap。
通过控制台
创建 ConfigMap
1. 登录 容器服务控制台,选择左侧导航栏中的集群。2. 在集群管理页面,选择集群 ID,进入集群的基本信息页面。3. 选择配置管理 > ConfigMap,在 ConfigMap 信息页面单击新建。4. 在新建 ConfigMap 页面,根据实际需求,设置 ConfigMap 参数。关键参数信息如下:名称:自定义。命名空间:根据实际需求进行选择命名空间类型,定义变量名和变量值。内容:添加变量名和变量值。5. 单击创建 ConfigMap,完成创建。
使用 ConfigMap
方式1:数据卷使用 ConfigMap 类型
1. 登录 容器服务控制台,选择左侧导航栏中的集群。2. 在集群管理页面,选择集群 ID,进入集群的基本信息页面。3. 在工作负载中,任意选择 Workload 类型,进入对应的信息页面。例如,选择工作负载 > DaemonSet,在 DaemonSet 信息页面单击新建。4. 在新建 DaemonSet 页面,根据页面信息,设置工作负载名、命名空间等信息。并在数据卷中,单击添加数据卷。如下图所示:

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

数据卷类型:选择 “使用ConfigMap” 方式。数据卷名称:自定义名称。选择ConfigMap:根据实际需求进行选择。选项:提供“全部”和“指定部分Key”两种选择。Items:当选择“指定部分Key”选项时,可以通过添加 item 向特定路径挂载,如挂载点是 /data/config,文件名是 filename,最终该键值对的值会存储在 /data/config/filename 下。6. 单击创建 DaemonSet,完成创建。
方式2:环境变量中使用 ConfigMap 类型
1. 登录 容器服务控制台,选择左侧导航栏中的集群。2. 在集群管理页面,选择集群 ID,进入集群的基本信息页面。3. 在工作负载中,任意选择 Workload 类型,进入对应的信息页面。例如,选择工作负载 > DaemonSet,在 DaemonSet 信息页面单击新建。4. 在新建 DaemonSet 页面,根据页面信息,设置工作负载名、命名空间等信息。并在实例内容器的环境变量中,单击新增变量。如下图所示:

5. 选择 “ConfigMap” 环境变量方式,并根据实际需求选择资源。如下图所示:

6. 单击创建 DaemonSet,完成创建。
更新 ConfigMap
1. 登录 容器服务控制台,选择左侧导航栏中的集群。2. 在集群管理页面,选择集群 ID,进入集群的基本信息页面。3. 选择配置管理 > ConfigMap,在 ConfigMap 信息页面,单击需要更新的 ConfigMap 行右侧的更新配置,如下图所示:

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

通过 Kubectl
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 的额外增强能力。
创建 ConfigMap
方式1:通过 YAML 示例文件方式创建
1. 参考 YAML 示例,准备 ConfigMap YAML 文件。2. 安装 Kubectl,并连接集群。操作详情请参考 通过 Kubectl 连接集群。3. 执行以下命令,创建 ConfigMap YAML 文件。
kubectl create -f ConfigMap 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
:表示 ConfigMap 的名字。:表示目录、文件或者字面值。更多参数详情可参见 Kubernetes configMap 官方文档。
使用 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
容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/147480.html