第 21 章 ConfigMaps
21.1. 概述
许多应用程序需要使用配置文件、命令行参数和环境变量的某些组合来进行配置。这些配置工件应该与镜像内容分离,以便使容器化应用程序可以移植。
ConfigMap
对象提供向容器注入配置数据的机制,同时保持容器与 OpenShift Container Platform 无关。ConfigMap
可用于存储细粒度信息(如个别属性)或粒度信息(如完整配置文件或 JSON blob)。
ConfigMap
API 对象包含配置数据的键值对,这些数据可在 Pod 中消耗或用于存储控制器等系统组件的配置数据。ConfigMap
与 secret 类似,但设计为能更加便捷地支持与不含敏感信息的字符串配合。
例如:
ConfigMap 对象定义
kind: ConfigMap apiVersion: v1 metadata: creationTimestamp: 2016-02-18T19:14:38Z name: example-config namespace: default data: 1 example.property.1: hello example.property.2: world example.property.file: |- property.1=value-1 property.2=value-2 property.3=value-3 binaryData: bar: L3Jvb3QvMTAw 2
注意
从文件 创建 configmap 时,您可以使用 binaryData
字段。
可以在 Pod 中以各种方式消耗配置数据。ConfigMap
可用于:
- 填充环境变量的值。
- 设置容器中的命令行参数。
- 填充卷中的配置文件。
用户和系统组件都可以在 ConfigMap
中存储配置数据。