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
在本例中,名为 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
卷挂载到 Kafka Connect 容器的 /opt/kafka/external-configuration/<volume-name> 中
。例如,名为 connector -config
的卷中的文件将显示在 /opt/kafka/external-configuration/connector-config
目录中。
FileConfigProvider
用于读取连接器配置中挂载的属性文件中的值。
属性 | 描述 |
---|---|
env | 允许将数据从 Secret 或 ConfigMap 传递给 Kafka Connect Pod 作为环境变量。 |
卷 | 允许将数据从 Secret 或 ConfigMap 传递给 Kafka Connect Pod 作为卷。 |