3.3.14.3. シークレットのボリュームとしてのマウント
OpenShift シークレットを作成してボリュームとして Kafka Connect にマウントし、これを使用して Kafka Connect コネクターを設定します。
前提条件
- 稼働中の Cluster Operator。
手順
コネクター設定の設定オプションを定義するプロパティーファイルが含まれるシークレットを作成します。以下に例を示します。
apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque stringData: connector.properties: |- dbUsername: my-user dbPassword: my-password
Kafka Connect リソースを作成または編集します。シークレットを参照するように、
KafkaConnect
またはKafkaConnectS2I
カスタムリソースのconfig
およびexternalConfiguration
セクションでFileConfigProvider
を設定します。以下に例を示します。apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaConnect metadata: name: my-connect spec: # ... config: config.providers: file config.providers.file.class: org.apache.kafka.common.config.provider.FileConfigProvider #... externalConfiguration: volumes: - name: connector-config secret: secretName: mysecret
変更を Kafka Connect デプロイメントに適用します。
次のように
oc apply
を使用します。oc apply -f your-file
コネクターの設定
Kafka Connect HTTP REST インターフェイスを使用している場合、コネクター設定のある JSON ペイロードのマウントされたプロパティーファイルから値を使用します。以下に例を示します。
{ "name":"my-connector", "config":{ "connector.class":"MyDbConnector", "tasks.max":"3", "database": "my-postgresql:5432", "username":"${file:/opt/kafka/external-configuration/connector-config/connector.properties:dbUsername}", "password":"${file:/opt/kafka/external-configuration/connector-config/connector.properties:dbPassword}", # ... } }
KafkaConnector
リソースを使用している場合、マウントされたプロパティーファイルの値をカスタムリソースのspec.config
セクションで使用します。以下に例を示します。apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaConnector metadata: name: my-connector # ... spec: class: "MyDbConnector" tasksMax: 3 config: database: "my-postgresql:5432" username: "${file:/opt/kafka/external-configuration/connector-config/connector.properties:dbUsername}" password: "${file:/opt/kafka/external-configuration/connector-config/connector.properties:dbPassword}"
関連情報
-
Kafka Connect の外部設定の詳細は、「
ExternalConfiguration
スキーマ参照」 を参照してください。