9.6. 使用多播
9.6.1. 关于多播
通过使用 IP 多播,数据可同时广播到许多 IP 地址。
重要
目前,多播最适用于低带宽协调或服务发现。它不是一个高带宽解决方案。
默认情况下,OpenShift Container Platform Pod 之间多播流量被禁用。如果使用 OpenShift SDN 默认 Container Network Interface (CNI) 网络供应商插件,可以根据每个项目启用多播。
以 networkpolicy
隔离模式使用 OpenShift SDN 网络插件时:
- Pod 发送的多播数据包将传送到项目里的所有其他 Pod,而无需考虑 NetworkPolicy 对象。即使在无法通过单播通信时,Pod 也能通过多播进行通信。
- 一个项目中的 Pod 发送的多播数据包不会传送到任何其他项目中的 Pod,即使存在允许项目间通信的 NetworkPolicy 对象。
以 multitenant
隔离模式使用 OpenShift SDN 网络插件时:
- Pod 发送的多播数据包将传送到项目里的所有其他 Pod。
- 只有在各个项目接合在一起并且每个接合的项目上都启用了多播时,一个项目中的 Pod 发送的多播数据包才会传送到其他项目中的 Pod。
9.6.2. 启用 Pod 间多播
您可以为项目启用 Pod 间多播。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
您必须作为
cluster-admin
角色用户登录集群。
流程
运行以下命令,为项目启用多播:
$ oc annotate netnamespace <namespace> \ 1 netnamespace.network.openshift.io/multicast-enabled=true
- 1
- 您要启用多播的项目的
namespace
。
9.6.3. 禁用 Pod 间多播
您可以为项目禁用 Pod 间多播。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
您必须作为
cluster-admin
角色用户登录集群。
流程
运行以下命令来禁用多播:
$ oc annotate netnamespace <namespace> \ 1 netnamespace.network.openshift.io/multicast-enabled-
- 1
- 您要禁用多播的项目的
namespace
。