3.2. 从环境变量载入配置值


此流程演示了如何使用 Environment Variables Configuration Provider 插件。

在此过程中,环境变量为连接器提供配置属性。数据库密码以环境变量的形式指定。

先决条件

  • OpenShift 集群可用。
  • Kafka 集群正在运行。
  • Cluster Operator 正在运行。

流程

  1. 在 Kafka Connect 配置中指定 Environment Variables Configuration Provider。

    使用 externalConfiguration 属性定义 环境变量。

    用于启用 Environment Variables Configuration Provider 的 Kafka 连接配置示例

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaConnect
    metadata:
      name: my-connect
      annotations:
        strimzi.io/use-connector-resources: "true"
    spec:
      # ...
      config:
        # ...
        config.providers: env 1
        config.providers.env.class: io.strimzi.kafka.EnvVarConfigProvider 2
      # ...
      externalConfiguration:
        env:
          - name: DB_PASSWORD 3
            valueFrom:
              secretKeyRef:
                name: db-creds 4
                key: dbPassword 5
      # ...

    1
    配置提供程序的别名用于定义其他配置参数。provider 参数使用 config.providers 中的别名,格式为 config.providers.${alias}.class
    2
    EnvVarConfigProvider 提供的环境变量中的值。
    3
    DB_PASSWORD 环境变量取 secret 中的密码值。
    4
    包含预定义密码的 secret 名称。
    5
    存储在机密中的密码的密钥。
  2. 创建或更新资源以启用该提供程序。

    oc apply -f <kafka_connect_configuration_file>
  3. 在连接器配置中引用环境变量。

    引用环境变量的连接器配置示例

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaConnector
    metadata:
      name: my-connector
      labels:
        strimzi.io/cluster: my-connect
    spec:
      # ...
      config:
        option: ${env:DB_PASSWORD}
        # ...
    # ...

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.