8.14. 使用 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 属性从挂载到 pod 的 ConfigMap (或 Secret)中的数据作为环境变量或卷提供。您可以将外部配置数据用于 Kafka Connect 使用的连接器。数据可能与外部数据源相关,提供连接器与该数据源通信所需的值。
例如,您可以使用 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 中的数据。
8.14.1. 命名自定义 ConfigMap 复制链接链接已复制到粘贴板!
AMQ Streams 在部署到 OpenShift 时 创建自己的 ConfigMap 和其他资源。ConfigMap 包含运行组件所需的数据。不得编辑 AMQ Streams 创建的 ConfigMap。
确保您创建的任何自定义 ConfigMap 的名称都与这些默认 ConfigMap 的名称相同。如果它们具有相同的名称,则它们将被覆盖。例如,如果您的 ConfigMap 与 Kafka 集群的 ConfigMap 的名称相同,则在对 Kafka 集群有更新时会覆盖它。