B.89.2. 卷


您还可以将 ConfigMap 或 Secret 挂载到 Kafka Connect pod 中作为卷。

在以下情况下,使用卷而不是环境变量会很有用:

  • 使用 TLS 证书挂载信任存储或密钥存储
  • 挂载用来配置 Kafka Connect 连接器的属性文件

具有属性的 Secret 示例

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
stringData:
  connector.properties: |- 1
    dbUsername: my-user 2
    dbPassword: my-password

1
属性文件格式的连接器配置。
2
配置中使用的数据库用户名和密码属性。

在本例中,名为 mysecret 的 Secret 挂载到名为 connector -config 的卷。在 config 属性中 指定配置提供程序(FileConfigProvider),它将从外部来源加载配置值。Kafka FileConfigProvider 被分配了别名 文件,并将从文件读取和提取要在连接器配置中使用的数据库 用户名和密码 属性值。

外部卷示例设置为来自 Secret 的值

apiVersion: kafka.strimzi.io/v1beta1
kind: KafkaConnect
metadata:
  name: my-connect
spec:
  # ...
  config:
    config.providers: file 1
    config.providers.file.class: org.apache.kafka.common.config.provider.FileConfigProvider 2
  #...
  externalConfiguration:
    volumes:
      - name: connector-config 3
        secret:
          secretName: mysecret 4

1
配置提供程序的别名,用于定义其他配置参数。如果要添加多个供应商,请使用逗号分隔的列表。
2
FileConfigProvider 是提供属性文件值的配置提供程序。参数使用 config.providers 中的别名,格式为 config.providers.${alias}.class
3
包含 Secret 的卷的名称。每个卷必须在 name 属性中指定一个名称和对 ConfigMap 或 Secret 的引用。
4
Secret 的名称。

卷挂载到 Kafka Connect 容器的 /opt/kafka/external-configuration/<volume-name> 中。例如,名为 connector -config 的卷中的文件将显示在 /opt/kafka/external-configuration/connector-config 目录中。

FileConfigProvider 用于读取连接器配置中挂载的属性文件中的值。

属性描述

env

允许将数据从 Secret 或 ConfigMap 传递给 Kafka Connect Pod 作为环境变量。

ExternalConfigurationEnv 数组

允许将数据从 Secret 或 ConfigMap 传递给 Kafka Connect Pod 作为卷。

ExternalConfigurationVolumeSource 数组

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.