A Kubernetes networking plugin that enables pod networking using AWS Elastic Network Interfaces for enhanced network performance and scalability.
Networking plugin repository for pod networking in Kubernetes using Elastic Network Interfaces on AWS
This tool is used to provide native AWS VPC networking capabilities to Kubernetes pods, allowing each pod to have its own IP address from the VPC. It is primarily used by Kubernetes cluster administrators running workloads on AWS to optimize network performance, IP address management, and security within their clusters.
It is recommended to set the kubelet --max-pods parameter based on the instance type's ENI and IP address limits to avoid pod scheduling failures. Proper IAM policies must be configured to allow the plugin to interact with AWS APIs securely. Users should refer to the troubleshooting guide and AWS EKS best practices for networking to optimize deployment and resolve issues.
Download the latest aws-k8s-cni.yaml from the config directory
Apply the manifest to the Kubernetes cluster using: kubectl apply -f aws-k8s-cni.yaml
Launch kubelet with network plugins set to cni (--network-plugin=cni)
Configure kubelet with CNI directories (--cni-config-dir and --cni-bin-dir)
Set kubelet node IP to the primary IPv4 address of the primary ENI (--node-ip=$(curl http://169.254.169.254/latest/meta-data/local-ipv4))
Optionally set kubelet --max-pods according to ENI and IP limits for the instance type
Alternatively, install using the Helm chart eks/aws-vpc-cni
kubectl apply -f aws-k8s-cni.yaml
Deploys the AWS VPC CNI plugin to the Kubernetes cluster.
make
Builds the Linux binaries for the CNI plugin.
make docker
Builds a Docker container image containing the compiled binaries.
make docker-unit-tests
Runs unit tests inside a Docker container.
Launch kubelet with --network-plugin=cni --cni-config-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --node-ip=$(curl http://169.254.169.254/latest/meta-data/local-ipv4)
Configures kubelet to use the AWS VPC CNI plugin with appropriate network and IP settings.