赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 弹性容器实例 ECI
  4. 操作指南
  5. 配置项及密钥
  6. 在容器组中使用配置项

在容器组中使用配置项

  • 配置项及密钥
  • 发布于 2025-04-15
  • 0 次阅读
文档编辑
文档编辑

配置项使您可以将配置文件与镜像分离,提高容器应用程序的可移植性。本文介绍如何在Pod中使用配置项。

使用场景

您可以在Pod中使用配置项,主要有以下几种使用场景:

  • 使用配置项定义Pod环境变量

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

  • 在数据卷中使用配置项

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

使用限制

在Pod中使用配置项时,Pod与配置项需处于同一集群和命名空间中。

创建配置项

本示例创建配置项Special_Config,包含SPECIAL_LEVEL: very和SPECIAL_TYPE: charm两个键值对。

YAML示例模板如下:

apiVersion: v1
kind: ConfigMap
metadata:
   name: special-config
   namespace: default
data:
   SPECIAL_LEVEL: very
   SPECIAL_TYPE: charm

使用配置项定义Pod环境变量

使用配置项的数据定义Pod环境变量

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态。

  3. 在无状态页面中,单击使用YAML创建资源。

  4. 选择示例模板或自定义,然后单击创建。

    您可以在Pod中定义环境变量,可以使用valueFrom引用SPECIAL_LEVEL的Value值,从而定义Pod的环境变量。配置示例如下:

    apiVersion: v1
    kind: Pod
    metadata:
       name: config-pod-1
    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

将配置项的所有Key/Values配置为Pod的环境变量

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态。

  3. 在无状态页面中,单击使用YAML创建资源。

  4. 选择示例模板或自定义,然后单击创建。

    如果您想在一个Pod中将配置项的所有Key/Values键值对配置为Pod的环境变量,可以使用envFrom参数,配置项中的Key会成为Pod中的环境变量的名称。配置示例如下:

    apiVersion: v1
    kind: Pod
    metadata:
       name: config-pod-2
    spec:
       containers:
         - name: test-container
           image: busybox
           command: [ "/bin/sh", "-c", "env" ]
           envFrom:                ##引用special-config配置文件的所有key/values键值对。
           - configMapRef:
               name: special-config
       restartPolicy: Never

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

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态。

  3. 在无状态页面中,单击使用YAML创建资源。

  4. 选择示例模板或自定义,然后单击创建。

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

    apiVersion: v1
    kind: Pod
    metadata:
       name: config-pod-3
    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

在数据卷中使用配置项

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态。

  3. 在无状态页面中,单击使用YAML创建资源。

  4. 选择样例模板或自定义,然后单击创建。

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

    apiVersion: v1
    kind: Pod
    metadata:
       name: config-pod-4
    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_TYPE
    SPECIAL_LEVEL
相关文章

管理配置项 2025-04-15 17:15

配置项用于保存不需要加密的配置信息和配置文件,通过更改配置项,您无需重新构建容器镜像即可更新配置信息。本文介绍如何创建和管理配置项。 前提条件 已创建

在容器组中使用配置项 2025-04-15 17:15

配置项使您可以将配置文件与镜像分离,提高容器应用程序的可移植性。本文介绍如何在Pod中使用配置项。 使用场景 您可以在Pod中使用配置项,主要有以下几种使用场景:

管理保密字典 2025-04-15 17:15

本文为您介绍如何在Kubernetes集群中管理保密字典。 前提条件 已创建Kubernetes集群,请参见创建ACK托管集群</

在容器组中使用保密字典 2025-04-15 17:15

若需要在Kubernetes集群中使用一些敏感的配置,例如密码、证书等信息时,建议使用保密字典。本文介绍如何在控制台创建保密字典,通过命令行或控制台方式配置Pod数据卷及环境变量。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号