6.3. type
タイプは internal
として設定されるか、外部リスナーの場合は route
、loadbalancer
、nodeport
、ingress
または cluster-ip
として設定されます。また、カスタムアクセスメカニズムの構築に使用できる内部リスナーの一種である cluster-ip
リスナーを設定することもできます。
- internal
tls
プロパティーを使用して、暗号化の有無に関わらず内部リスナーを設定できます。internal
リスナーの設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - route
OpenShift
Routes
および HAProxy ルーターを使用して Kafka を公開するように外部リスナーを設定します。Kafka ブローカー Pod ごとに専用の
Route
が作成されます。追加のRoute
が作成され、Kafka ブートストラップアドレスとして提供されます。これらのRoutes
を使用すると、Kafka クライアントを 443 番ポートで Kafka に接続することができます。クライアントはデフォルトのルーターポートであるポート 443 に接続しますが、トラフィックは設定するポート (この例では9094
) にルーティングされます。route
リスナーの設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ingress
Kubernetes
Ingress
および Ingress NGINX Controller for Kubernetes を使用して、Kafka を公開するように外部リスナーを設定します。各 Kafka ブローカー Pod に専用の
Ingress
リソースが作成されます。追加のIngress
リソースが作成され、Kafka ブートストラップアドレスとして提供されます。これらのIngress
リソースを使用すると、Kafka クライアントを 443 番ポートで Kafka に接続することができます。クライアントはデフォルトのコントローラーポートであるポート 443 に接続しますが、トラフィックは設定するポート (以下の例では9095
にルーティングされます)。GenericKafkaListenerConfigurationBootstrap
およびGenericKafkaListenerConfigurationBroker
プロパティーを使用して、ブートストラップおよびブローカーごとのサービスによって使用されるホスト名を指定する必要があります。Ingress
リスナーの設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Ingress
を使用する外部リスナーは、現在 Ingress NGINX Controller for Kubernetes でのみテストされています。- loadbalancer
Loadbalancer
タイプのService
を使用して Kafka を公開するように外部リスナーを設定します。Kafka ブローカー Pod ごとに新しいロードバランサーサービスが作成されます。追加のロードバランサーが作成され、Kafka の ブートストラップ アドレスとして提供されます。ロードバランサーは指定のポート番号をリッスンします。以下の例ではポート
9094
です。loadBalancerSourceRanges
プロパティーを使用して、指定された IP アドレスへのアクセスを制限する ソース範囲 を設定できます。loadbalancer
リスナーの設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - nodeport
NodePort
タイプのServices
を使用して Kafka を公開するように外部リスナーを設定します。Kafka クライアントは OpenShift のノードに直接接続します。追加の
NodePort
タイプのサービスが作成され、Kafka ブートストラップアドレスとして提供されます。Kafka ブローカー Pod にアドバタイズされたアドレスを設定する場合、AMQ Stremas では該当の Pod が稼働しているノードのアドレスが使用されます。
preferredNodePortAddressType
プロパティーを使用して、チェックした最初のアドレスタイプをノードアドレスとして設定することができます。nodeport
リスナーの設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ノードポートを使用して Kafka クラスターを公開する場合、現在 TLS ホスト名の検証はサポートされません。
- cluster-ip
ブローカーごとの
ClusterIP
タイプService
を使用して Kafka を公開するように内部リスナーを設定します。リスナーは、ヘッドレスサービスとその DNS 名を使用してトラフィックを Kafka ブローカーにルーティングしません。ヘッドレスサービスの使用が不適切な場合は、このタイプのリスナーを使用して Kafka クラスターを公開できます。特定の Ingress コントローラーや OpenShift Gateway API を使用するものなど、カスタムアクセスメカニズムで使用できます。
Kafka ブローカー Pod ごとに新しい
ClusterIP
サービスが作成されます。このサービスには、ブローカーごとのポート番号を持つ Kafka ブートストラップ アドレスとして機能するClusterIP
アドレスが割り当てられます。たとえば、TCP ポート設定を使用して、Nginx Ingress Controller を介して Kafka クラスターを公開するようにリスナーを設定できます。cluster-ip
リスナーの設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow