8.9. マルチキャストの有効化
重要
現時点で、マルチキャストは低帯域幅の調整またはサービスの検出での使用に最も適しており、高帯域幅のソリューションとしては適していません。
OpenShift Container Platform の Pod 間のマルチキャストトラフィックはデフォルトで無効にされます。ovs-multitenant または ovs-networkpolicy プラグインを使用している場合、アノテーションをプロジェクトの対応する netnamespace
オブジェクトに設定して、プロジェクトごとにマルチキャストを有効にできます。
$ oc annotate netnamespace <namespace> \ netnamespace.network.openshift.io/multicast-enabled=true
アノテーションを削除してマルチキャストを無効にします。
$ oc annotate netnamespace <namespace> \ netnamespace.network.openshift.io/multicast-enabled-
ovs-multitenant プラグインを使用する場合:
- 分離したプロジェクトでは、Pod で送信されるマルチキャストパケットはプロジェクト内の他のすべての Pod に送信されます。
-
ネットワークを結合 している場合、すべてのプロジェクトで有効にされるようにマルチキャストを各プロジェクトの
netnamespace
で有効にする必要があります。結合されたネットワークの Pod で送信されるマルチキャストはすべての結合されたネットワークのすべての Pod に送信されます。 -
マルチキャストを
default
プロジェクトで有効にするには、これをkube-service-catalog
プロジェクトおよび グローバルにされた 他のすべてのプロジェクトで有効にする必要もあります。グローバルプロジェクトの Pod で送信されるマルチキャストパケットはすべてのプロジェクトのすべての Pod にではなく、他のグローバルプロジェクトの Pod に送信されます。同様に、グローバルプロジェクトの Pod はすべてのプロジェクトのすべての Pod からではなく、他のグローバルプロジェクトの Pod から送信されるマルチキャストパケットのみを受信します。
ovs-networkpolicy プラグインを使用する場合:
-
Pod によって送信されるマルチキャストパケットは、
NetworkPolicy
オブジェクトに関係なく、プロジェクトの他のすべての Pod に送信されます。(Pod はユニキャストで通信できない場合でもマルチキャストで通信できます。) -
1 つのプロジェクトの Pod によって送信されるマルチキャストパケットは、
NetworkPolicy
オブジェクトがプロジェクト間の通信を許可する場合であっても、それ以外のプロジェクトの Pod に送信されることはありません。