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