第 21 章 ConfigMaps


21.1. 概述

许多应用程序需要使用配置文件、命令行参数和环境变量的某些组合来进行配置。这些配置工件应该与镜像内容分离,以便使容器化应用程序可以移植。

ConfigMap 对象提供向容器注入配置数据的机制,同时保持容器与 OpenShift Container Platform 无关。ConfigMap 可用于存储细粒度信息(如个别属性)或粒度信息(如完整配置文件或 JSON blob)。

ConfigMap API 对象包含配置数据的键值对,这些数据可在 Pod 中消耗或用于存储控制器等系统组件的配置数据。ConfigMapsecret 类似,但设计为能更加便捷地支持与不含敏感信息的字符串配合。

例如:

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

1
包含配置数据。
2
指向含有非 UTF8 数据的文件,如二进制 Java 密钥存储文件。在 Base 64 中输入文件路径。
注意

从文件 创建 configmap 时,您可以使用 binaryData 字段。

可以在 Pod 中以各种方式消耗配置数据。ConfigMap 可用于:

  1. 填充环境变量的值。
  2. 设置容器中的命令行参数。
  3. 填充卷中的配置文件。

用户和系统组件都可以在 ConfigMap 中存储配置数据。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.