B.9.6. networkPolicyPeers


ネットワークレベルでリスナーへのアクセスを制限するネットワークポリシーを設定するには、networkPolicyPeersを使用します。次の例では、plaintlsリスナーのnetworkPolicyPeersの設定を示しています。

listeners:
  #...
  - name: plain
    port: 9092
    type: internal
    tls: true
    authentication:
      type: scram-sha-512
    networkPolicyPeers:
      - podSelector:
          matchLabels:
            app: kafka-sasl-consumer
      - podSelector:
          matchLabels:
            app: kafka-sasl-producer
  - name: tls
    port: 9093
    type: internal
    tls: true
    authentication:
      type: tls
    networkPolicyPeers:
      - namespaceSelector:
          matchLabels:
            project: myproject
      - namespaceSelector:
          matchLabels:
            project: myproject2
# ...

この例では以下が設定されています。

  • ラベル app: kafka-sasl-consumer および app: kafka-sasl-producer と一致するアプリケーション Pod のみが plain リスナーに接続できます。アプリケーション Pod は Kafka ブローカーと同じ namespace で実行されている必要があります。
  • ラベル project: myproject および project: myproject2 と一致する namespace で稼働しているアプリケーション Pod のみ、tls リスナーに接続できます。

networkPolicyPeers フィールドの構文は、NetworkPolicy リソースの from フィールドと同じです。

KafkaListenersとの後方互換性

GenericKafkaListener は、非推奨となった KafkaListeners スキーマに置き換わりました。

KafkaListeners スキーマを使用して設定されたリスナーを、後方互換性で GenericKafkaListener スキーマの 形式に変換するには、以下の名前、ポート、およびタイプを使用します。

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 1
    tls: true
# ...
1
オプション: ingressloadbalancernodeportroute
プロパティー説明

name

リスナーの名前。名前は、リスナーおよび関連する OpenShift オブジェクトの識別に使用されます。指定の Kafka クラスター内で一意となる必要があります。この名前には、小文字と数字を使用でき、最大 11 文字まで使用できます。

string

port

Kafka 内でリスナーによって使用されるポート番号。ポート番号は指定の Kafka クラスター内で一意である必要があります。許可されるポート番号は 9092 以上ですが、すでに Prometheus および JMX によって使用されているポート 9404 および 9999 以外になります。リスナーのタイプによっては、ポート番号は Kafka クライアントに接続するポート番号と同じではない場合があります。

integer

type

リスナーのタイプ。現在サポートされているタイプは、internalrouteloadbalancernodeportingressです。

* 内部 タイプは OpenShift クラスター内のみで Kafka を公開します。* ルート タイプは OpenShift Routes を使用して Kafka を公開します。* ロードバランサー タイプは LoadBalancer タイプサービスを使用して Kafka を公開します。* ノードポート タイプは NodePort タイプのサービスを使用して Kafka を公開します。* Ingress タイプは OpenShift Nginx Ingress を使用して Kafka を公開します。

string ([ingress、internal、route、loadbalancer、nodeport] のいずれか)

tls

リスナーで TLS による暗号化を有効にします。これは必須プロパティーです。

boolean

authentication

このリスナーの認証設定。タイプは、指定のオブジェクト内の authentication.type プロパティーの値によって異なり、[tls、scram-sha-512、oauth] のいずれかでなければなりません。

KafkaListenerAuthenticationTlsKafkaListenerAuthenticationScramSha512KafkaListenerAuthenticationOAuth

設定

追加のリスナー設定。

GenericKafkaListenerConfiguration

networkPolicyPeers

このリスナーに接続できるピアの一覧。この一覧のピアは、論理演算子 OR を使用して組み合わせます。このフィールドが空であるか、または存在しない場合、このリスナーのすべてのコネクションが許可されます。このフィールドが存在し、1 つ以上の項目が含まれる場合、リスナーはこの一覧の少なくとも 1 つの項目と一致するトラフィックのみを許可します。外部のドキュメント「networking.k8s.io/v1 networkpolicypeer」を参照してください。

NetworkPolicyPeer array

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.