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 からクレデンシャルを読み取りおよび展開します。
外部値のプレースホルダーを示すコネクター設定の例