我正在尝试配置 Kubernetes pod 以发送和接收 UDP 多播消息。我有两个集群,每个集群都在单独的 Proxmox VM 上运行。每个集群都使用 Flannel 作为 Multus 的基本 CNI。
我尝试了以下方法:
- 我为我的 pod 创建了以下网络附件定义和以下注释
第二个集群上的 pod 具有相同的网络附件定义和注释(不同的 IP 和 mac)。使用此配置,我可以从一个 pod ping 到另一个 pod,但使用 IPERF 发送多播数据失败。 - 我尝试使用以下网络附件定义和此注释进行相同的操作,结果相同:IPERF 失败
- 我删除了 Multus 注释并将 hostNetwork 设置为 true。这有效,IPERF 能够在 pod 之间发送多播数据。但是,设置的另一部分失败了。我在集群外部的 Docker 容器中运行另一个应用程序(这是一个模拟器,不会成为最终部署的一部分,但需要用于测试)。此应用程序通过 NodePort 服务将数据发送到所有 pod。如果我将 hostNetwork 设置为 true,模拟器将无法再访问关联的 pod。
- 的答案中提到的配置,但是这样我甚至无法从一个 pod ping 到另一个 pod。
以下是我使用 IPERF 的方法。在一个 pod 上,我运行并获得此输出。在另一个 pod 上,我运行并获得此输出。
我注意到的一件事是,客户端的本地 IP 是 10.42.#.# 地址,这是集群内部 IP。我不知道如何更改它。
|