murtiko
murtiko

Reputation: 273

UDP/TCP Broadcast in Managed Kubernetes Services (specifically AWS-EKS)

We have an app that uses UDP broadcast messages to form a "cluster" of all instances running in the same subnet.

We can successfully run this app in our (pretty std) local K8s installation by using hostNetwork:true for pods. This works because all K8s nodes are in the same subnet and broadcasting is possible. (a minor note: the K8s setup uses flannel networking plugin)

Now we want to move this app to the managed K8s service @ AWS. But our initial attempts have failed. The 2 daemons running in 2 different pods didn't see each other. We thought that was most likely due to the auto-generated EC2 worker node instances for the AWS K8s service residing on different subnets. Then we created 2 completely new EC2 instances in the same subnet (and the same availability-zone) and tried running the app directly on them (not as part of K8s), but that also failed. They could not communicate via broadcast messages even though the 2 EC2 instances were on the same subnet/availability-zone.

Hence, the following questions:

Thanks

Upvotes: 0

Views: 1071

Answers (1)

gohm'c
gohm'c

Reputation: 15530

Conceptually, you need to create overlay network on top of the VPC native like this. There's a CNI that support multicast and here's the AWS blog about it.

Upvotes: 4

Related Questions