我们有一个由 3 个节点组成的连接集群。我们的连接集群信任库中需要几个证书。我们通过以下方式安装了这些证书。
...
spec:
tls:
trustedCertificates:
- certificate: ca.crt
secretName: my-cluster-cluster-ca-cert
- secretName: root-cer
certificate: RootCA.crt
- certificate: IntermediateCA.crt
secretName: inter-cer
- secretName: solace-broker-secret
certificate: secure-solace-broker.crt
...
如您所知,在三个连接集群启动后,证书已安装到以下信任库/tmp/kafka/cluster.truststore.p12
中。此外,我们可以在以下文件中找到随机信任库密码:/tmp/strimzi-connect.properties
.
我们将信任库路径和信任库密码定向到 KafkaConnector 资源文件中。
apiVersion: kafka.strimzi.io/v1alpha1
kind: KafkaConnector
metadata:
name: solace-source-connector
labels:
strimzi.io/cluster: my-connect-cluster
spec:
class: com.solace.connector.kafka.connect.source.SolaceSourceConnector
tasksMax: 1
config:
value.converter: org.apache.kafka.connect.converters.ByteArrayConverter
key.converter: org.apache.kafka.connect.storage.StringConverter
kafka.topic: solace-test
sol.host: tcps://msdkjskdjsdfrdfjdffdhxu3n.messaging.solace.cloud:55443
sol.username: my-solace-cloud-username
sol.password: password
sol.vpn_name: solaceservice
sol.topics: try-me
sol.message_processor_class: com.solace.connector.kafka.connect.source.msgprocessors.SolSampleSimpleMessageProcessor
sol.ssl_trust_store: /tmp/kafka/cluster.truststore.p12
sol.ssl_trust_store_password: HARDCODED_RANDOM_PASSWORD
现在我们正在进入其中一个连接集群 pod,从/tmp/strimzi-connect.properties
文件中获取密码,然后在sol.ssl_trust_store_password
字段中使用密码。
我的问题:
有什么方法可以参数化密码吗?使用密码的任何封装方式(这样我们就不需要进入 pod 来知道密码 - 期望是,kafkaconnector 资源将从/tmp/strimzi-connect.properties
文件中获取密码,它在哪个 pod 上运行)