OVN-Kubernetes ネットワークプラグイン
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
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 Copied! Toggle word wrap Toggle overflow 唯一の解決策は、両方の 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
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 Copied! Toggle word wrap Toggle overflow 唯一の解決策として、両方の 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 ネットワークプラグインに戻すことはできません。
- 移行中にクラスターノードが再起動します。
- ノードの中断に対して耐性のあるワークロードに影響はありません。
- 移行時間は、クラスターのサイズとワークロードの設定に応じて、数分から数時間までさまざまです。
2.1. OpenShift Cluster Manager API コマンドラインインターフェイス (ocm) CLI を使用して移行を開始する リンクのコピーリンクがクリップボードにコピーされました!
移行を開始できるのは、バージョン 4.16.43 以降のクラスターのみです。
前提条件
-
OpenShift Cluster Manager API コマンドラインインターフェイス (
ocm
) をインストールしている。
OpenShift Cluster Manager API コマンドラインインターフェイス (ocm
) は、開発者プレビュー機能です。Red Hat 開発者プレビュー機能のサポート範囲の詳細は、開発者プレビューのサポート範囲 を参照してください。
手順
次の内容の JSON ファイルを作成します。
{ "type": "sdnToOvn" }
{ "type": "sdnToOvn" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: JSON ファイル内で、次の例に示すように、オプションごとに 1 つの CIDR とともに、
join
、masquerade
、transit
のいずれかまたはすべてのオプションを使用して内部サブネットを設定できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記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 アドレス範囲のパッチ適用 を参照してください。
移行を開始するには、ターミナルウィンドウで次の POST リクエストを実行します。
ocm post /api/clusters_mgmt/v1/clusters/{cluster_id}/migrations
$ ocm post /api/clusters_mgmt/v1/clusters/{cluster_id}/migrations
1 --body=myjsonfile.json
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
移行のステータスを確認するには、次のコマンドを実行します。
ocm get cluster <cluster_id>/migrations
$ ocm get cluster <cluster_id>/migrations
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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 の再暗号化を除外する必要があります。
アドレス | プロトコル/ポート | 機能 |
---|---|---|
| https/443 | 必須。Managed OpenShift 固有のテレメトリーに使用されます。 |
| https/443 |
https://console.redhat.com/openshift サイトでは、 |
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 にデプロイされている。
手順
- OpenShift Cluster Manager に移動し、クラスターを選択します。
- Networking ページの Virtual Private Cloud (VPC) セクションで、Edit cluster-wide proxy をクリックします。
Edit cluster-wide proxy ページで、プロキシー設定の詳細を指定します。
次のフィールドの少なくとも 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
引数を使用して明示的な設定を必要とするかに関係なく適用されます。
- 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
$ oc annotate namespace <namespace> \ k8s.ovn.org/multicast-enabled=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントまたは、以下の YAML を適用してアノテーションを追加できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
プロジェクトでマルチキャストが有効になっていることを確認するには、次の手順を実行します。
現在のプロジェクトを、マルチキャストを有効にしたプロジェクトに切り替えます。
<project>
をプロジェクト名に置き換えます。oc project <project>
$ oc project <project>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マルチキャストレシーバーとして機能する Pod を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マルチキャストセンダーとして機能する Pod を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいターミナルウィンドウまたはタブで、マルチキャストリスナーを起動します。
Pod の IP アドレスを取得します。
POD_IP=$(oc get pods mlistener -o jsonpath='{.status.podIP}')
$ POD_IP=$(oc get pods mlistener -o jsonpath='{.status.podIP}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、マルチキャストリスナーを起動します。
oc exec mlistener -i -t -- \ socat UDP4-RECVFROM:30102,ip-add-membership=224.1.0.1:$POD_IP,fork EXEC:hostname
$ oc exec mlistener -i -t -- \ socat UDP4-RECVFROM:30102,ip-add-membership=224.1.0.1:$POD_IP,fork EXEC:hostname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
マルチキャストトランスミッターを開始します。
Pod ネットワーク IP アドレス範囲を取得します。
CIDR=$(oc get Network.config.openshift.io cluster \ -o jsonpath='{.status.clusterNetwork[0].cidr}')
$ CIDR=$(oc get Network.config.openshift.io cluster \ -o jsonpath='{.status.clusterNetwork[0].cidr}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マルチキャストメッセージを送信するには、以下のコマンドを入力します。
oc exec msender -i -t -- \ /bin/bash -c "echo | socat STDIO UDP4-DATAGRAM:224.1.0.1:30102,range=$CIDR,ip-multicast-ttl=64"
$ 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 Copied! Toggle word wrap Toggle overflow マルチキャストが機能している場合、直前のコマンドは以下の出力を返します。
mlistener
mlistener
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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.