gpt4 book ai didi

spring-boot - 将 udp 数据包多播到不同节点上的所有 kubernetes pod

转载 作者:行者123 更新时间:2023-12-02 12:13:40 24 4
gpt4 key购买 nike

我正在搜索如何将多播 udp 数据包发送到我的 kubernetes 集群中的 pod

在对这个问题进行一些调查后,我意识到我所有的 pod 只能在同一节点上运行时才能看到数据包,其他位于另一个节点上的 pod 看不到路由的数据包,

我已经在我的 gcp 上进行了测试帐户,我没有在任何其他 k8s 云提供商上测试过
我已经使用 java spring boot 集成实现了它,请参阅我的 git repo

我已经实现了两个模块

    <modules>
<module>livefeed</module> #read packet on the network on 4444 port
<module>livesender</module> # multicast 1 packet every 1 second
</modules>

我做了我的部署类型 DaemonSet确保 kubernetes 将每个 pod 安排在不同的节点上

我正在使用 spring 集成将路由数据包读取为
@Bean
public IntegrationFlow processUniCastUdpMessage() {
return IntegrationFlows
.from(new MulticastReceivingChannelAdapter("224.0.0.1", 4444))
.handle(x -> log.info(new String(((byte[]) x.getPayload()))))
.get();
}

如果我应该在 gcp 或其他东西上配置 vpn,我希望有人可以帮助我。

最佳答案

this thread ,您需要配置您的 kubernetes 集群以添加以下配置以使多播正常运行:

hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet

希望这可以帮助。

关于spring-boot - 将 udp 数据包多播到不同节点上的所有 kubernetes pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59713866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com