Enabling Multicast using Weave-Net CNI plugin on AWS EKS cluster
You can enable multicasting on AWS EKS cluster only for Kubernetes versions 1.21 or above,
Before you begin
- Create a role on AWS having the necessary privileges for creating AWS clusters
(example:
AWS_EKS_CLUSTER_ROLE
). - Create a minimum of two subnets within the VPC. You must create the cluster within this VPC.
About this task
To enable multicasting on AWS EKS cluster using Weave-Net CNI plugin, complete the following steps:
Procedure
-
Use the AWS CLI and create an EKS cluster without any node group.
Note: Multicasting will not work if you create clusters using AWS web console.
Sample Command:
aws eks create-cluster --region <region-name> --name <cluster-name> --kubernetes-version 1.21 --role-arn <full-arn-of-the-role> --resources-vpc-config subnetIds=<subnet-id1>,<subnet-id2>,...<subnet-idn>
-
Run the following command to delete the aws-node default daemon-set:
kubectl delete ds aws-node -n kube-system command
This disables the default vpc-cni plugin. -
Confirm if your security group allows TCP port
6783
and UDP ports6783
and6784
. If your security group does not allow these ports, add the necessary firewall rules to your security groups to allow these ports. -
Run the following command to delete the
kube-proxy ds
:kubectl delete ds kube-proxy -n kube-system
-
Run the following command to create an add-on for Kube-proxy:
aws eks create-addon --cluster-name <your-cluster-name> --addon-name kube-proxy --resolve-conflicts OVERWRITE
This will add the latest kube-proxy add-on to the cluster, based on the Kubernetes cluster version. -
Run the following command to apply weave-net daemoset:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
- Verify the Daemon sets on cluster. There should be two daemon sets for Weave and correspondingly two Kube-proxy daemon sets.
- Add the node group to the Cluster and wait till the nodes are created and all the required nodes are ready.
- Deploy the Unica product and verify the Multicasting.