OVN-Kubernetes ネットワークプラグイン


OpenShift Dedicated 4

OpenShift Dedicated の OVN-Kubernetes ネットワークプラグインの詳細な設定とトラブルシューティング

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、OpenShift Dedicated における OVN-Kubernetes ネットワークプラグインのアーキテクチャー、設定、およびトラブルシューティングに関する情報を提供します。

第1章 OVN-Kubernetes ネットワークプラグインについて

OpenShift Dedicated クラスターは、Pod およびサービスネットワークに仮想化ネットワークを使用します。

Red Hat OpenShift Networking の一部である OVN-Kubernetes ネットワークプラグインは、OpenShift Dedicated のデフォルトのネットワークプロバイダーです。OVN-Kubernetes は Open Virtual Network (OVN) をベースとしており、オーバーレイベースのネットワーク実装を提供します。OVN-Kubernetes プラグインを使用するクラスターは、各ノードで Open vSwitch (OVS) も実行します。OVN は、宣言ネットワーク設定を実装するように各ノードで OVS を設定します。

注記

OVN-Kubernetes は、OpenShift Dedicated およびシングルノード OpenShift デプロイメントのデフォルトのネットワークソリューションです。

OVS プロジェクトから生まれた OVN-Kubernetes は、オープンフロールールなどの同じコンストラクトの多くを使用して、パケットがネットワークをどのように移動するかを決定します。詳細は、Open Virtual Network の Web サイト を参照してください。

OVN-Kubernetes は、仮想ネットワーク設定を OpenFlow ルールに変換する OVS 用のデーモンシリーズです。OpenFlow は、ネットワークスイッチやルーターと通信するためのプロトコルであり、ネットワークデバイス上のネットワークトラフィックのフローをリモートで制御する手段を提供します。つまり、ネットワーク管理者はネットワークトラフィックのフローを設定、管理、および監視できます。

OVN-Kubernetes は、OpenFlow では利用できない高度な機能をさらに提供します。OVN は、分散仮想ルーティング、分散論理スイッチ、アクセス制御、Dynamic Host Configuration Protocol (DHCP)、および DNS をサポートしています。OVN は、オープンフローと同等の論理フロー内に分散仮想ルーターを実装します。たとえば、ネットワーク上の DHCP サーバーに DHCP 要求を送信する Pod がある場合、その要求内の論理フロールールが、OVN-Kubernetes によるパケットの処理を補助します。これは、サーバーがゲートウェイ、DNS サーバー、IP アドレスなどの情報で応答できることを意味します。

OVN-Kubernetes は、各ノードでデーモンを実行します。すべてのノードで実行されるデータベースおよび OVN コントローラー用のデーモンセットがあります。OVN コントローラーは、ノード上の Open vSwitch デーモンをプログラムして、次のネットワークプロバイダー機能をサポートします。

  • Egress IP
  • ファイアウォール
  • ハードウェアのオフロード
  • ハイブリッドネットワーク
  • Internet Protocol Security (IPsec) 暗号化
  • IPv6
  • マルチキャスト。
  • ネットワークポリシーとネットワークポリシーログ
  • Routers

1.1. OVN-Kubernetes の目的

OVN-Kubernetes ネットワークプラグインは、Open Virtual Network (OVN) を使用してネットワークトラフィックフローを管理する、オープンソースのフル機能の Kubernetes CNI プラグインです。OVN はコミュニティーで開発され、ベンダーに依存しないネットワーク仮想化ソリューションです。OVN-Kubernetes ネットワークプラグインは次のテクノロジーを使用します。

  • ネットワークトラフィックフローを管理するための OVN。
  • Ingress ルールおよび Egress ルールを含む Kubernetes ネットワークポリシーのサポートとログ。
  • ノード間にオーバーレイネットワークを作成するための、Virtual Extensible LAN (VXLAN) ではなく、Generic Network Virtualization Encapsulation (Geneve) プロトコル。

OVN-Kubernetes ネットワークプラグインは、次の機能をサポートしています。

  • Linux と Microsoft Windows の両方のワークロードを実行できるハイブリッドクラスター。この環境は ハイブリッドネットワーキング と呼ばれます。
  • ホストの中央処理装置 (CPU) から互換性のあるネットワークカードおよびデータ処理装置 (DPU) へのネットワークデータ処理のオフロード。これは ハードウェアオフロード と呼ばれます。
  • ベアメタル、VMware vSphere、IBM Power®、IBM Z®、および Red Hat OpenStack Platform (RHOSP) プラットフォーム上の IPv4 プライマリーデュアルスタックネットワーク。
  • RHOSP およびベアメタルプラットフォーム上の IPv6 シングルスタックネットワーク。
  • ベアメタル、VMware vSphere、または RHOSP プラットフォーム上で実行しているクラスター用の IPv6 プライマリーデュアルスタックネットワーク。
  • Egress ファイアウォールデバイスと Egress IP アドレス。
  • リダイレクトモードで動作する Egress ルーターデバイス。
  • クラスター内通信の IPsec 暗号化。

Red Hat は、OVN-Kubernetes ネットワークプラグインを使用する次のインストール後の設定をサポートしません。

  • NMState Operator を使用してインターフェイスのボンディングを設定するなどのプライマリーネットワークインターフェイスの設定。
  • Open vSwitch (OVS) または OVN-Kubernetes br-ex ブリッジネットワークを使用するネットワークデバイス上でのサブインターフェイスまたは追加のネットワークインターフェイスの設定。
  • プライマリーネットワークインターフェイス上での追加の仮想ローカルエリアネットワーク (VLAN) の作成。
  • クラスターのインストール中にノード用に作成した eth0 または bond0 などのプライマリーネットワークインターフェイスを使用した、追加のセカンダリーネットワークの作成。

Red Hat は、OVN-Kubernetes ネットワークプラグインを使用する次のインストール後の設定をサポートします。

  • クラスターのインストール中にプライマリーネットワークインターフェイスをノードの VLAN として設定した eth0.100 などのベースとなる物理インターフェイスからの追加の VLAN の作成。これは、Open vSwitch (OVS) ブリッジが eth0.100 のような初期 VLAN サブインターフェイスに接続され、ベースとなる物理インターフェイスを新しい設定で利用可能な状態のままにするため、機能します。
  • localnet トポロジーネットワークを使用して追加の OVN セカンダリーネットワークを作成するには、NodeNetworkConfigurationPolicy (NNCP) オブジェクトでセカンダリーネットワークを定義する必要があります。ネットワークを作成すると、Pod または仮想マシン (VM) をネットワークに接続できるようになります。これらのセカンダリーネットワークは、VLAN タグ付けを使用する場合と使用しない場合がある物理ネットワークへの専用の接続を提供します。ホストに必要なネットワーク設定などの必要なセットアップがないノードのホストネットワークからは、これらのネットワークにアクセスできません。

1.2. OVN-Kubernetes IPv6 とデュアルスタックの制限

OVN-Kubernetes ネットワークプラグインには、次の制限があります。

  • デュアルスタックネットワークに設定されたクラスターでは、IPv4 と IPv6 の両方のトラフィックがデフォルトゲートウェイとして同じネットワークインターフェイスを使用する必要があります。

    この要件が満たされない場合には、ovnkube-node デーモンセットのホストにある Pod は、CrashLoopBackOff 状態になります。

    oc get pod -n openshift-ovn-kubernetes -l app=ovnkube-node -o yaml のようなコマンドで Pod を表示すると、以下の出力のように、status フィールドにデフォルトゲートウェイに関する複数のメッセージが表示されます。

    I1006 16:09:50.985852   60651 helper_linux.go:73] Found default gateway interface br-ex 192.168.127.1
    I1006 16:09:50.985923   60651 helper_linux.go:73] Found default gateway interface ens4 fe80::5054:ff:febe:bcd4
    F1006 16:09:50.985939   60651 ovnkube.go:130] multiple gateway interfaces detected: br-ex ens4
    Copy to Clipboard Toggle word wrap

    唯一の解決策は、両方の IP ファミリーがデフォルトゲートウェイに同じネットワークインターフェイスを使用するように、ホストネットワークを再設定することです。

  • デュアルスタックネットワーク用に設定されたクラスターの場合、IPv4 と IPv6 の両方のルーティングテーブルにデフォルトゲートウェイが含まれている必要があります。

    この要件が満たされない場合には、ovnkube-node デーモンセットのホストにある Pod は、CrashLoopBackOff 状態になります。

    oc get pod -n openshift-ovn-kubernetes -l app=ovnkube-node -o yaml のようなコマンドで Pod を表示すると、以下の出力のように、status フィールドにデフォルトゲートウェイに関する複数のメッセージが表示されます。

    I0512 19:07:17.589083  108432 helper_linux.go:74] Found default gateway interface br-ex 192.168.123.1
    F0512 19:07:17.589141  108432 ovnkube.go:133] failed to get default gateway interface
    Copy to Clipboard Toggle word wrap

    唯一の解決策として、両方の IP ファミリーにデフォルトゲートウェイが含まれるようにホストネットワークを再設定できます。

  • クラスターの MachineConfig カスタムリソース (CR) の kernelArgument セクションで ipv6.disable パラメーターを 1 に設定すると、OVN-Kubernetes Pod が CrashLoopBackOff 状態になります。さらに、OpenShift Dedicated の新しいバージョンにクラスターを更新することが失敗します。Network Operator が Degraded 状態のままになるためです。Red Hat はクラスターの IPv6 アドレスの無効化をサポートしていないため、ipv6.disable パラメーターを 1 に設定しないでください。

1.3. セッションアフィニティー

セッションアフィニティーは、Kubernetes Service オブジェクトに適用される機能です。<service_VIP>:<Port> に接続するたびに、トラフィックが常に同じバックエンドに負荷分散されるようにする場合は、セッションアフィニティー を使用できます。クライアントの IP アドレスに基づいてセッションアフィニティーを設定する方法など、詳細は、セッションアフィニティー を参照してください。

1.3.1. セッションアフィニティーのスティッキネスタイムアウト

OpenShift Dedicated の OVN-Kubernetes ネットワークプラグインは、最後のパケットに基づいてクライアントからのセッションのスティッキネスタイムアウトを計算します。たとえば、curl コマンドを 10 回実行すると、スティッキーセッションタイマーは最初のパケットではなく 10 番目のパケットから開始します。その結果、クライアントが継続的にサービスに接続している場合でも、セッションがタイムアウトすることはありません。タイムアウトは、timeoutSeconds パラメーターで設定された時間、サービスがパケットを受信しなかった場合に開始されます。

第2章 OpenShift SDN ネットワークプラグインから OVN-Kubernetes ネットワークプラグインへの移行

OpenShift Dedicated クラスター管理者は、OpenShift SDN ネットワークプラグインから OVN-Kubernetes ネットワークプラグインへの移行を開始し、OCM CLI を使用して移行ステータスを確認できます。

移行を開始する前に考慮すべき事項を以下に示します。

  • クラスターのバージョンが 4.16.43 以上である必要があります。
  • 移行プロセスを中断することはできません。
  • SDN ネットワークプラグインに戻すことはできません。
  • 移行中にクラスターノードが再起動します。
  • ノードの中断に対して耐性のあるワークロードに影響はありません。
  • 移行時間は、クラスターのサイズとワークロードの設定に応じて、数分から数時間までさまざまです。
警告

移行を開始できるのは、バージョン 4.16.43 以降のクラスターのみです。

重要

OpenShift Cluster Manager API コマンドラインインターフェイス (ocm) は、開発者プレビュー機能です。Red Hat 開発者プレビュー機能のサポート範囲の詳細は、開発者プレビューのサポート範囲 を参照してください。

手順

  1. 次の内容の JSON ファイルを作成します。

    {
      "type": "sdnToOvn"
    }
    Copy to Clipboard Toggle word wrap
    • オプション: JSON ファイル内で、次の例に示すように、オプションごとに 1 つの CIDR とともに、joinmasqueradetransit のいずれかまたはすべてのオプションを使用して内部サブネットを設定できます。

      {
        "type": "sdnToOvn",
        "sdn_to_ovn": {
          "transit_ipv4": "192.168.255.0/24",
          "join_ipv4": "192.168.255.0/24",
          "masquerade_ipv4": "192.168.255.0/24"
        }
      }
      Copy to Clipboard Toggle word wrap
      注記

      OVN-Kubernetes は次の IP アドレス範囲を予約します。

      100.64.0.0/16.この IP アドレス範囲は、デフォルトで OVN-Kubernetes の internalJoinSubnet パラメーターに使用されます。

      100.88.0.0/16.この IP アドレス範囲は、デフォルトで OVN-Kubernetes の internalTransSwitchSubnet パラメーターに使用されます。

      これらの IP アドレスが OpenShift SDN またはこのクラスターと通信する可能性のある外部ネットワークによって使用されている場合は、制限付きライブマイグレーションを開始する前に、別の IP アドレス範囲を使用するようにパッチを適用する必要があります。詳細は、関連情報 セクションの OVN-Kubernetes アドレス範囲のパッチ適用 を参照してください。

  2. 移行を開始するには、ターミナルウィンドウで次の POST リクエストを実行します。

    $ ocm post /api/clusters_mgmt/v1/clusters/{cluster_id}/migrations 
    1
    
      --body=myjsonfile.json 
    2
    Copy to Clipboard Toggle word wrap
    1
    {cluster_id} は OVN-Kubernetes ネットワークプラグインに移行するクラスターの ID に置き換えます。
    2
    myjsonfile.json は、前のステップで作成した JSON ファイルの名前に置き換えます。

    出力例

    {
      "kind": "ClusterMigration",
      "href": "/api/clusters_mgmt/v1/clusters/2gnts65ra30sclb114p8qdc26g5c8o3e/migrations/2gois8j244rs0qrfu9ti2o790jssgh9i",
      "id": "7sois8j244rs0qrhu9ti2o790jssgh9i",
      "cluster_id": "2gnts65ra30sclb114p8qdc26g5c8o3e",
      "type": "sdnToOvn",
      "state": {
        "value": "scheduled",
        "description": ""
      },
      "sdn_to_ovn": {
        "transit_ipv4": "100.65.0.0/16",
        "join_ipv4": "100.66.0.0/16"
      },
      "creation_timestamp": "2025-02-05T14:56:34.878467542Z",
      "updated_timestamp": "2025-02-05T14:56:34.878467542Z"
    }
    Copy to Clipboard Toggle word wrap

検証

  • 移行のステータスを確認するには、次のコマンドを実行します。

    $ ocm get cluster <cluster_id>/migrations 
    1
    Copy to Clipboard Toggle word wrap
    1
    <cluster_id> は、移行を適用したクラスターの ID に置き換えます。

第3章 クラスター全体のプロキシーの設定

既存の Virtual Private Cloud (VPC) を使用している場合は、OpenShift Dedicated クラスターのインストール中またはクラスターのインストール後に、クラスター全体のプロキシーを設定できます。プロキシーを有効にすると、コアクラスターコンポーネントはインターネットへの直接アクセスを拒否されますが、プロキシーはユーザーのワークロードには影響しません。

注記

クラウドプロバイダー API への呼び出しを含め、クラスターシステムの egress トラフィックのみがプロキシーされます。

プロキシーは、Customer Cloud Subscription (CCS) モデルを使用する OpenShift Dedicated クラスターに対してのみ有効にできます。

クラスター全体のプロキシーを使用する場合は、責任をもってクラスターへのプロキシーの可用性を確保してください。プロキシーが利用できなくなると、クラスターの正常性とサポート性に影響を与える可能性があります。

3.1. クラスター全体のプロキシーを設定するための前提条件

クラスター全体のプロキシーを設定するには、次の要件を満たす必要があります。これらの要件は、インストール中またはインストール後にプロキシーを設定する場合に有効です。

3.1.1. 一般要件

  • クラスターの所有者である。
  • アカウントには十分な権限がある。
  • クラスターに既存の Virtual Private Cloud (VPC) がある。
  • クラスターに Customer Cloud Subscription (CCS) モデルを使用している。
  • プロキシーは、クラスターの VPC および VPC のプライベートサブネットにアクセスできる。プロキシーは、クラスターの VPC および VPC のプライベートサブネットからもアクセスできる必要があります。
  • 次のエンドポイントが VPC エンドポイントに追加されている。

    • ec2.<aws_region>.amazonaws.com
    • elasticloadbalancing.<aws_region>.amazonaws.com
    • s3.<aws_region>.amazonaws.com

      これらのエンドポイントは、ノードから AWS EC2 API への要求を完了するために必要です。プロキシーはノードレベルではなくコンテナーレベルで機能するため、これらの要求を AWS プライベートネットワークを使用して AWS EC2 API にルーティングする必要があります。プロキシーサーバーの許可リストに EC2 API のパブリック IP アドレスを追加するだけでは不十分です。

      重要

      クラスター全体のプロキシーを使用する場合は、s3.<aws_region>.amazonaws.com エンドポイントを Gateway のタイプとして設定する必要があります。

3.1.2. ネットワーク要件

プロキシーが Egress トラフィックを再暗号化する場合は、OpenShift に必要ないくつかのドメインとポートの組み合わせに対する除外を作成する必要があります。

プロキシーは、以下の OpenShift URL の再暗号化を除外する必要があります。

Expand
表3.1 Egress トラフィックの再暗号化から除外する URL
アドレスプロトコル/ポート機能

observatorium-mst.api.openshift.com

https/443

必須。Managed OpenShift 固有のテレメトリーに使用されます。

sso.redhat.com

https/443

https://console.redhat.com/openshift サイトでは、sso.redhat.com からの認証を使用してプルシークレットをダウンロードし、Red Hat SaaS ソリューションを使用してサブスクリプション、クラスターインベントリー、チャージバックレポートなどのモニタリングを行います。

3.2. 追加の信頼バンドルに対する責任

追加の信頼バンドルを指定する場合は、以下の要件を満たす必要があります。

  • 追加の信頼バンドルの内容が有効であることを確認する
  • 追加の信頼バンドルに含まれる中間証明書を含む証明書の有効期限が切れていないことを確認する
  • 追加の信頼バンドルに含まれる証明書の有効期限を追跡して必要な更新を実行する
  • 更新された追加の信頼バンドルを使用してクラスター設定を更新する

3.3. インストール中にプロキシーを設定する

OpenShift Dedicated with Customer Cloud Subscription (CCS) クラスターを既存の Virtual Private Cloud (VPC) にインストールするときに、HTTP または HTTPS プロキシーを設定できます。Red Hat OpenShift Cluster Manager を使用して、インストール中にプロキシーを設定できます。

3.3.1. OpenShift Cluster Manager を使用したインストール時のプロキシーの設定

OpenShift Dedicated クラスターを既存の Virtual Private Cloud (VPC) にインストールする場合、Red Hat OpenShift Cluster Manager を使用して、インストール中にクラスター全体の HTTP または HTTPS プロキシーを有効にすることができます。プロキシーは、Customer Cloud Subscription (CCS) モデルを使用するクラスターに対してのみ有効にできます。

インストールの前に、クラスターがインストールされている VPC からプロキシーにアクセスできることを確認する必要があります。プロキシーは VPC のプライベートサブネットからもアクセスできる必要があります。

OpenShift Cluster Manager を使用してインストール中にクラスター全体のプロキシーを設定する詳細な手順は、AWS でのクラスターの作成 または GCP でのクラスターの作成 を参照してください。

3.4. インストール後のプロキシーの設定

OpenShift Dedicated with Customer Cloud Subscription (CCS) クラスターを既存の Virtual Private Cloud (VPC) にインストールした後、HTTP または HTTPS プロキシーを設定できます。Red Hat OpenShift Cluster Manager を使用して、インストール後にプロキシーを設定できます。

3.5. OpenShift Cluster Manager を使用したインストール後のプロキシーの設定

Red Hat OpenShift Cluster Manager を使用して、Virtual Private Cloud (VPC) の既存の OpenShift Dedicated クラスターにクラスター全体のプロキシー設定を追加できます。プロキシーは、Customer Cloud Subscription (CCS) モデルを使用するクラスターに対してのみ有効にできます。

OpenShift Cluster Manager を使用して、既存のクラスター全体のプロキシー設定を更新することもできます。たとえば、プロキシーのネットワークアドレスを更新するか、プロキシーの認証局のいずれかが期限切れになる場合は追加の信頼バンドルを置き換える必要がある場合があります。

重要

クラスターはプロキシー設定をコントロールプレーンおよびコンピュートノードに適用します。設定の適用時に、各クラスターノードは一時的にスケジュール不可能な状態になり、そのワークロードが drain (Pod の退避) されます。プロセスの一環として各ノードが再起動されます。

前提条件

  • Customer Cloud Subscription (CCS) モデルを使用する OpenShift Dedicated クラスターがある。
  • クラスターが VPC にデプロイされている。

手順

  1. OpenShift Cluster Manager に移動し、クラスターを選択します。
  2. Networking ページの Virtual Private Cloud (VPC) セクションで、Edit cluster-wide proxy をクリックします。
  3. Edit cluster-wide proxy ページで、プロキシー設定の詳細を指定します。

    1. 次のフィールドの少なくとも 1 つに値を入力します。

      • 有効な HTTP proxy URL を指定します。
      • 有効な HTTPS proxy URL を指定します。
      • Additional trust bundle フィールドに、PEM でエンコードされた X.509 証明書バンドルを指定します。

        既存の信頼バンドルファイルを置き換える場合は、Replace file を選択してフィールドを表示します。このバンドルはクラスターノードの信頼済み証明書ストアに追加されます。TLS 検査プロキシーを使用する場合は、プロキシーのアイデンティティー証明書が Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルからの認証局によって署名されない限り、追加の信頼バンドルファイルが必要です。この要件は、プロキシーが透過的であるか、http-proxy および https-proxy 引数を使用して明示的な設定を必要とするかに関係なく適用されます。

    2. Confirm をクリックします。

検証

  • Networking ページの Virtual Private Cloud (VPC) セクションで、クラスターのプロキシー設定が想定どおりであることを確認します。

第4章 プロジェクトのマルチキャストの有効化

4.1. マルチキャストについて

IP マルチキャストを使用すると、データが多数の IP アドレスに同時に配信されます。

重要
  • 現時点で、マルチキャストは低帯域幅の調整またはサービスの検出での使用に最も適しており、高帯域幅のソリューションとしては適していません。
  • デフォルトでは、ネットワークポリシーは namespace 内のすべての接続に影響します。ただし、マルチキャストはネットワークポリシーの影響を受けません。マルチキャストがネットワークポリシーと同じ namespace で有効にされている場合、deny-all ネットワークポリシーがある場合でも、マルチキャストは常に許可されます。クラスター管理者は、これを有効にする前に、ネットワークポリシーからマルチキャストが除外されることの影響を考慮する必要があります。

OpenShift Dedicated Pod 間のマルチキャストトラフィックはデフォルトで無効になっています。OVN-Kubernetes ネットワークプラグインを使用している場合は、プロジェクトごとにマルチキャストを有効にできます。

4.2. Pod 間のマルチキャストの有効化

プロジェクトの Pod でマルチキャストを有効にすることができます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin または dedicated-admin ロールを持つユーザーでクラスターにログインする必要があります。

手順

  • 以下のコマンドを実行し、プロジェクトのマルチキャストを有効にします。<namespace> を、マルチキャストを有効にする必要のある namespace に置き換えます。

    $ oc annotate namespace <namespace> \
        k8s.ovn.org/multicast-enabled=true
    Copy to Clipboard Toggle word wrap
    ヒント

    または、以下の YAML を適用してアノテーションを追加できます。

    apiVersion: v1
    kind: Namespace
    metadata:
      name: <namespace>
      annotations:
        k8s.ovn.org/multicast-enabled: "true"
    Copy to Clipboard Toggle word wrap

検証

プロジェクトでマルチキャストが有効になっていることを確認するには、次の手順を実行します。

  1. 現在のプロジェクトを、マルチキャストを有効にしたプロジェクトに切り替えます。<project> をプロジェクト名に置き換えます。

    $ oc project <project>
    Copy to Clipboard Toggle word wrap
  2. マルチキャストレシーバーとして機能する Pod を作成します。

    $ cat <<EOF| oc create -f -
    apiVersion: v1
    kind: Pod
    metadata:
      name: mlistener
      labels:
        app: multicast-verify
    spec:
      containers:
        - name: mlistener
          image: registry.access.redhat.com/ubi9
          command: ["/bin/sh", "-c"]
          args:
            ["dnf -y install socat hostname && sleep inf"]
          ports:
            - containerPort: 30102
              name: mlistener
              protocol: UDP
    EOF
    Copy to Clipboard Toggle word wrap
  3. マルチキャストセンダーとして機能する Pod を作成します。

    $ cat <<EOF| oc create -f -
    apiVersion: v1
    kind: Pod
    metadata:
      name: msender
      labels:
        app: multicast-verify
    spec:
      containers:
        - name: msender
          image: registry.access.redhat.com/ubi9
          command: ["/bin/sh", "-c"]
          args:
            ["dnf -y install socat && sleep inf"]
    EOF
    Copy to Clipboard Toggle word wrap
  4. 新しいターミナルウィンドウまたはタブで、マルチキャストリスナーを起動します。

    1. Pod の IP アドレスを取得します。

      $ POD_IP=$(oc get pods mlistener -o jsonpath='{.status.podIP}')
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを入力して、マルチキャストリスナーを起動します。

      $ oc exec mlistener -i -t -- \
          socat UDP4-RECVFROM:30102,ip-add-membership=224.1.0.1:$POD_IP,fork EXEC:hostname
      Copy to Clipboard Toggle word wrap
  5. マルチキャストトランスミッターを開始します。

    1. Pod ネットワーク IP アドレス範囲を取得します。

      $ CIDR=$(oc get Network.config.openshift.io cluster \
          -o jsonpath='{.status.clusterNetwork[0].cidr}')
      Copy to Clipboard Toggle word wrap
    2. マルチキャストメッセージを送信するには、以下のコマンドを入力します。

      $ oc exec msender -i -t -- \
          /bin/bash -c "echo | socat STDIO UDP4-DATAGRAM:224.1.0.1:30102,range=$CIDR,ip-multicast-ttl=64"
      Copy to Clipboard Toggle word wrap

      マルチキャストが機能している場合、直前のコマンドは以下の出力を返します。

      mlistener
      Copy to Clipboard Toggle word wrap

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat