Networking plugin repository for pod networking in Kubernetes using Elastic Network Interfaces on AWS. Launch kubelet with network plugins set to cni (--network-plugin=cni), the cni directories configured (--cni-config-dir and --cni-bin-dir) and node ip set to the primary IPv4 address of the primary ENI for the instance (--node-ip=$(curl http://169.254.169.254/latest/meta-data/local-ipv4)). It is also recommended that you set --max-pods equal to (the number of ENIs for the instance type × (the number of IPs per ENI - 1)) + 2; for details, see vpc_ip_resource_limit.go. Setting --max-pods will prevent scheduling that exceeds the IP address resources available to the kubelet. The Amazon VPC CNI plugin for Kubernetes supports a number of configuration options, which are set through environment variables. The following environment variables are available, and all of them are optional.
Features
- make defaults to make build-linux that builds the Linux binaries
- Create a docker container using the docker-build with the finished binaries
- Use a docker container (golang:1.16) to build the binaries
- Use a docker container (golang:1.16) to run all unit tests
- When a worker node first joins the cluster, there is only 1 ENI along with all of its addresses in the ENI
- The Amazon VPC CNI plugin for Kubernetes supports a number of configuration options