13.2.70.2. volumes
ボリュームを使用して ConfigMap またはシークレットを Kafka Connect Pod にマウントします。
以下の場合、環境変数の代わりにボリュームを使用すると便利です。
- Kafka Connect コネクターの設定に使用されるプロパティーファイルのマウント
- TLS 証明書でのトラストストアまたはキーストアのマウント
ボリュームは、パス /opt/kafka/external-configuration/<volume-name>
の Kafka Connect コンテナー内にマウントされます。たとえば、 connector-config
という名前のボリュームのファイルは /opt/kafka/external-configuration/connector-config
ディレクトリーにあります。
設定プロバイダーは設定外から値を読み込みます。プロバイダーメカニズムを使用して、制限された情報がKafka ConnectREST インターフェースを介して渡されないようにします。
-
FileConfigProvider
ファイルのプロパティーから設定値をロードします。 -
DirectoryConfigProvider
ディレクトリー構造内で個別のファイルから設定値をロードします。
複数のプロバイダー (カスタムプロバイダーを含む) を追加する場合は、コンマ区切りリストを使用します。カスタムプロバイダーを使用して、他のファイルの場所から値をロードできます。
FileConfigProvider
を使用したプロパティー値の読み込み
以下の例では、mysecret
という名前の Secret には、データベース名とパスワードを指定するコネクタープロパティーが含まれています。
データベースプロパティーのある Secret の例
Secret および FileConfigProvider
設定プロバイダーは Kafka Connect 設定に指定されます。
-
Secret は
connector-config
という名前のボリュームにマウントされます。 -
FileConfigProvider
にはエイリアスファイル
が付与されます。
Secret からの値に設定された外部ボリュームの例
Secret のプロパティー値のプレースホルダーは、コネクター設定で参照されます。プレースホルダー構造は、configmaps:PATH-AND-FILE-NAME:PROPERTY
です。FileConfigProvider
は、コネクター設定でマウントされた Secret からデータベースの username および password プロパティーの値を読み取りおよび展開します。
外部値のプレースホルダーを示すコネクター設定の例
DirectoryConfigProvider
を使用した個別ファイルからのプロパティー値のロード
この例の Secret
には個別のファイルに TLS トラストストアとキーストアユーザーのクレデンシャルが含まれています。
ユーザークレデンシャルのある Secret の例
Secret および DirectoryConfigProvider
設定プロバイダーは Kafka Connect 設定に指定されます。
-
Secret は
connector-config
という名前のボリュームにマウントされます。 -
DirectoryConfigProvider
には エイリアスのディレクトリー
が付与されます。
ユーザークレデンシャルファイルに設定された外部ボリュームの例
クレデンシャルのプレースホルダーはコネクター設定で参照されます。プレースホルダー構造は directory:PATH:FILE-NAME
です。DirectoryConfigProvider
は、コネクター設定でマウントされた Secret からクレデンシャルを読み取りおよび展開します。
外部値のプレースホルダーを示すコネクター設定の例