配置项(ConfigMap)是一种用于存储工作负载所需配置信息的资源类型,需要您自定义配置项的内容。

创建配置项

本部分介绍如何通过容器应用服务控制台完成配置项创建操作。

操作步骤

  1. 登录容器应用服务控制台,在左侧导航栏单击 配置 > 配置项

  2. 单击 创建,在 创建配置项 页面,填写以下信息:

    • 命名空间:选择命名空间。若不选择,默认为 default

    • 名称:配置项名称,同一个命名空间里命名必须唯一,最多 32 个字符。

    • 配置源

      • 键值对:键代表文件名,值代表文件中的内容。

      • 文件:可上传文件创建配置项。

  3. 配置完成后,单击 创建

使用配置项

您可以在 Pod 中使用配置项,主要包括以下使用场景:

更多关于配置项的信息,可参见 Configure a Pod to Use a ConfigMap

用配置项定义 Pod 环境变量

您可以使用配置项定义 Pod 中环境变量,使用 valueFrom 引用配置项数据。

  1. 登录容器应用服务控制台,在左侧导航栏单击 工作负载 > 容器组(Pods)

  2. 单击 从 YAML 创建,在输入框中输入以下内容,单击 创建

    下面是一个编排示例。

    apiVersion: v1
    kind: Pod
    metadata:
       name: config-pod-1
       namespace: yournamespace  #改成当前的命名空间名称
    spec:
       containers:
       - name: test-container
         image: busybox
         command: [ "/bin/sh", "-c", "env" ]
         env:
         - name: SPECIAL_LEVEL_KEY
           valueFrom:                             #使用valueFrom来指定env引用配置项的value值
           configMapKeyRef:
             name: special-config               #引用的配置文件名称
             key: SPECIAL_LEVEL                 #引用的配置项key
       restartPolicy: Never

通过配置项设置命令行参数

您可以使用配置项设置容器中的命令或者参数值,使用环境变量替换语法 $(VAR_NAME)来进行。

  1. 登录容器应用服务控制台,在左侧导航栏单击 工作负载 > 容器组(Pods)

  2. 单击 从 YAML 创建,在输入框中输入以下内容,单击 创建。

    下面是一个编排示例。

    apiVersion: v1
    kind: Pod
    metadata:
       name: config-pod-3
       namespace: yournamespace  # 改成当前的命名空间名称
    spec:
       containers:
       - name: test-container
         image: busybox
         command: [ "/bin/sh", "-c", "echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)" ]
         env:
         - name: SPECIAL_LEVEL_KEY
           valueFrom:
           configMapKeyRef:
    	 name: special-config
    	 key: SPECIAL_LEVEL
         - name: SPECIAL_TYPE_KEY
           valueFrom:
           configMapKeyRef:
    	 name: special-config
    	 key: SPECIAL_TYPE
       restartPolicy: Never

    运行该 Pod 后,会输出如下结果。

    very charm

在数据卷中使用配置项

您也可以在数据卷里面使用配置项,在 volumes 下指定配置项名称,会将 key/values 的数据存储到 mountPath 路径下(本例中是 /etc/config)。最终生成以 key 为文件名,values 为文件内容的配置文件。

  1. 登录容器应用服务控制台,在左侧导航栏单击 工作负载 > 容器组(Pods)

  2. 单击 从 YAML 创建,在输入框中输入以下内容,单击 创建。

    下面是一个编排示例。

    apiVersion: v1  
    kind: Pod  
    metadata:  
       name: config-pod-4  
       namespace: yournamespace  #改成当前的命名空间名称  
    spec:  
       containers:  
       - name: test-container  
         image: busybox  
         command: [ "/bin/sh", "-c", "ls /etc/config/" ]   #列出该目录下的文件名  
         volumeMounts:  
         - name: config-volume  
         mountPath: /etc/config  
       volumes:  
       - name: config-volume  
         configMap:  
         name: special-config  
       restartPolicy: Never  

    运行 Pod 后,会输出配置项的 key。

    SPECIAL_TYPESPECIAL_LEVEL

修改配置项

修改配置文件会影响使用该配置文件的应用。

操作步骤

  1. 登录容器应用服务控制台,在左侧导航栏单击 配置 > 配置项

  2. 在配置项列表页,单击 名称 进入配置项详情页。

  3. 您可以进行以下修改:

    • 单击 编辑,修改已有的配置项数据,单击 提交

    • 单击 添加配置项数据,增加变量名和值,单击 提交

查看配置项

前提条件

创建配置项

操作步骤

  1. 登录容器应用服务控制台,在左侧导航栏单击 配置 > 配置项

  2. 在配置项列表页,单击 名称 进入配置项详情页,查看配置项详细数据。