我们有具有三个副本的 MongoDB 集群。我已将首选 TLS 和身份验证类型启用为 MongoDB-X509。
我们有三个代理 strimzi kafka 集群,并将集群与所有必需的插件(即 debezium 提供的 mongoDB)连接起来并运行。
下面提供了用于 kafka 连接部署的部分 connect.yaml 文件:-
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
name: my-connect
spec:
config:
config.providers: directory
config.providers.directory.class: org.apache.kafka.common.config.provider.DirectoryConfigProvider
externalConfiguration:
volumes:
- name: connector-config
secret:
secretName: mysecret
部署工作正常,能够在 /opt/kafka/external-configuration/connector-config 目录中看到 ca.pem 和 mongo-server.pem 文件。
之后,我尝试使用下面给出的配置文件创建 mongoDB 连接器,但不确定传递证书的确切方式。因为没有可用于 mongoDb 连接器的示例配置文件。您能否通过提供一些示例配置来帮助解决这个问题。
我尝试了以下配置文件:-
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnector
metadata:
name: my-source-connector
labels:
strimzi.io/cluster: my-connect-cluster
spec:
class: io.debezium.connector.mongodb.MongoDbConnector
tasksMax: 2
config:
ssl.truststore.type: PEM
ssl.truststore.location: "${directory:/opt/kafka/external-configuration/connector-config:ca.pem}"
ssl.keystore.type: PEM
ssl.keystore.location: "${directory:/opt/kafka/external-configuration/connector-config:mongo-server.pem}"
"mongodb.hosts": "rs0/192.168.99.100:27017"
"mongodb.name": "fullfillment"
"collection.include.list": "inventory[.]*"
"mongodb.ssl.enabled": true
"mongodb.ssl.invalid.hostname.allowed": true
但它抛出了语法错误。请通过提供示例 mongoDB connector.yaml 来帮助解决这个问题?