配置 Config Map 和 Secret


本文章介绍应用开发人员如何新建 Config Map 和 Secret,将配置信息注入容器。


Config Map 可用于存储细粒度信息,如单个属性;或粗粒度信息如整个配置文件或JSON对象。Config Map 可存储键/值对配置数据,这些数据可以在 Pod 里使用。通过 Config Map,可以更方便的处理不包含敏感信息的字符串。


Secret 解决了密码、Token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用。通过 Secret,可以更方便的处理包含敏感信息的字符串。

新建Config Map

通过以下步骤为应用新建 Config Map:

  1. 在左侧导航栏中,选择 容器 > Config Maps

  2. 点击 新建Config Map,并完成 Config Map 的详细配置。

  3. 提供 Config Map 的基本信息:

    • 名称:输入 Config Map 的名称
    • 应用:选择需要使用 Config Map 的应用
    • 环境:选择 Config Map 使用环境,目前支持 dev,alpha,beta,ppe,和 prod 环境
    • 集群:选择部署应用的集群,目前集群已由系统预先配置
  4. 输入需要配置的 Config Map 信息(KEY/VALUE 键值对),或选择上传配置文件。

    ../../../_images/config_map.png
  5. 输入对 Config Map 的描述信息。

  6. 点击 确定,完成配置。

新建Secret

通过以下步骤为应用新建 Secret:

  1. 在左侧导航栏中,选择 容器 > Secrets

  2. 点击 新建Secret,并完成 Secret 的详细配置。

  3. 提供 Secret 的基本信息:

    • 应用:选择需要使用 Secret 的应用
    • 环境:选择 Secret 使用环境,目前支持 dev,alpha,beta,ppe,和 prod 环境
    • 集群:选择部署应用的集群,目前集群已由系统预先配置
  4. 选择 Secret 加密类型:

    • Opaque:Base64 编码格式的 Secret,用来存储密码、密钥等。

      注解

      Opaque 类型的 Value 需要填写 Base64 加密后的内容。可以使用在线加密解密工具:http://tool.oschina.net/encrypt?type=3

    • kubernetes.io/rbd

      ../../../_images/secret.png
  5. 数据:使用 KEY/VALUE 键值对,输入需要配置的 Secret 信息。

  6. 输入对 Secret 的描述信息。

  7. 点击 确定,完成配置。

后续操作

Config Map 和 Secret 创建完成后,可编辑应用的 Deployment 配置中对应的 Config Map 和 Secret。参考以下示例:

../../../_images/update_deployment1.png

还可根据业务需要,对 Config Map 和 Secret 进行克隆、编辑、和删除操作。具体步骤和 配置Deployment 相似。