1.2. 使用 ConfigMap 添加配置
使用 ConfigMap 资源在 AMQ Streams 部署中添加特定配置。ConfigMap 使用键值对来存储非机密数据。添加到 ConfigMap 中的配置数据在一个位置被维护,可在不同组件之间重复使用。
ConfigMap 只能存储与以下内容相关的配置数据:
- 日志记录配置
- 指标配置
- Kafka 连接连接器的外部配置
您不能将 ConfigMap 用于其他配置区域。
配置组件时,您可以使用 configMapKeyRef 属性添加对 ConfigMap 的引用。
例如,您可以使用 configMapKeyRef 引用为日志记录提供配置的 ConfigMap。您可以使用 ConfigMap 传递一个 Log4j 配置文件。您可以添加对 日志配置 的引用。
日志的 ConfigMap 示例
spec:
# ...
logging:
type: external
valueFrom:
configMapKeyRef:
name: my-config-map
key: my-config-map-key
要将 ConfigMap 用于指标配置,您需要以同样的方式添加对组件的 metricsConfig 配置的引用。
externalConfiguration 属性使 ConfigMap (或 Secret)中的数据挂载到 pod 中作为环境变量或卷。您可以将外部配置数据用于 Kafka 连接使用的连接器。数据可能与外部数据源相关,提供连接器与该数据源通信所需的值。
例如,您可以使用 configMapKeyRef 属性将 ConfigMap 中的配置数据作为环境变量传递。
提供环境变量值的 ConfigMap 示例
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
name: my-connect
spec:
# ...
externalConfiguration:
env:
- name: MY_ENVIRONMENT_VARIABLE
valueFrom:
configMapKeyRef:
name: my-config-map
key: my-key
如果您使用外部管理的 ConfigMap,请使用配置提供程序在 ConfigMap 中加载数据。有关使用配置供应商的更多信息,请参阅 第 3 章 从外部来源加载配置值。
1.2.1. 命名自定义 ConfigMap 复制链接链接已复制到粘贴板!
AMQ Streams 在部署到 OpenShift 时创建自己的 ConfigMap 和其他资源。ConfigMap 包含运行组件所需的数据。由 AMQ Streams 创建的 ConfigMap 不能被编辑。
确保您创建的任何自定义 ConfigMap 的名称都与这些默认 ConfigMap 的名称相同。如果它们具有相同的名称,则它们会被覆盖。例如,如果您的 ConfigMap 的名称与 Kafka 集群的 ConfigMap 的名称相同,它会在更新 Kafka 集群时被覆盖。