2.7. 汎用リスナーの設定
本リリースに GenericKafkaListener スキーマが導入されました。
スキーマは、Kafka リソースの Kafka リスナーを設定するもので、非推奨である KafkaListeners スキーマの代わりに使用されます。
GenericKafkaListener スキーマを使用すると、名前とポートが一意であれば、必要なリスナーをいくつでも設定できます。リスナー設定 は配列として定義されますが、非推奨の形式もサポートされます。
新しい設定へのリスナーの更新
KafkaListeners スキーマは、plain、tls および external リスナーのサブプロパティーを使用し、それぞれに固定ポートを使用していました。アップグレードプロセスのいずれかの段階で、KafkaListeners スキーマを使用して設定されたリスナーを GenericKafkaListener スキーマの形式に変換する必要があります。
たとえば、現在 Kafka 設定で以下の設定を使用しているとします。
これまでのリスナー設定
listeners:
plain:
# ...
tls:
# ...
external:
type: loadbalancer
# ...
以下を使用して、リスナーを新しい形式に変換します。
新しいリスナー設定
listeners:
#...
- name: plain
port: 9092
type: internal
tls: false
- name: tls
port: 9093
type: internal
tls: true
- name: external
port: 9094
type: EXTERNAL-LISTENER-TYPE
tls: true
必ず 正確な 名前とポート番号を使用してください。
これまでの形式で使用された追加の configuration または overrides プロパティーは、新しい形式に更新する必要があります。
リスナー 設定 に追加された変更:
-
overridesがconfigurationセクションとマージされる。 -
dnsAnnotationsの名前がアノテーションになった。 -
preferredAddressTypeの名前がpreferredNodePortAddressTypeに変更された。 -
addressの名前がalternativenamesに変更された。 -
loadBalancerSourceRangesおよびexternalTrafficPolicyが、現在の非推奨のテンプレートからリスナー設定に移動する。
すべてのリスナーが、アドバタイズされたホスト名およびポートの設定をサポートするようになりました。
例として、以下の設定を見てみましょう。
従来の追加リスナー設定
listeners:
external:
type: loadbalancer
authentication:
type: tls
overrides:
bootstrap:
dnsAnnotations:
#...
これを以下に変更します。
新しい追加リスナー設定
listeners:
#...
- name: external
port: 9094
type:loadbalancer
tls: true
authentication:
type: tls
configuration:
bootstrap:
annotations:
#...
後方互換性を維持するため、新しいリスナー設定にある名前およびポート番号を使用する 必要 があります。他の値を使用すると、Kafka リスナーおよび Kubernetes サービスの名前が変更されます。