v1.5.0 Release Candidate 1
Pre-releaseFirst release candidate for the v1.5.0 branch.
Note! This release is not meant for production use, it is still being tested.
The major change in this release is the change in behavior of WARM_IP_TARGET(#461). Set this variable to the number of IPs you want to have available and ready to be assigned to new pods. This number applies to each node. This setting requires one additional IAM permission for the node role that has not yet been added to the managed policy. If you plan to set WARM_IP_TARGET, please add this IAM permission:
"ec2:UnassignPrivateIpAddresses"
For example, if WARM_IP_TARGET is set to 3 with a m5.4xlarge instance, the CNI will first allocate all 30 IPs on the first ENI, one being used by the ENI itself and the other 29 available to pods. If no pods are scheduled on the node, 26 IPs will be released back to the subnet and 3 unassigned IPs will be available for pods to use.
Note! If WARM_IP_TARGET is set to a low value, scheduled pods might get stuck for a long time before they can actually get an IP. If you have a lot of pod churn, either don't set this variable, or give it a bigger value. Not having WARM_IP_TARGET set means that all IPs will be allocated on each ENI, and no IPs will be freed until there are no pods using any IP on the whole ENI.
For testing this release candidate in your own cluster, patch the aws-node daemonset:
kubectl patch daemonset aws-node \
-n kube-system \
-p '{"spec": {"template": {"spec": {"containers": [{"image": "602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon-k8s-cni:v1.5.0-rc1","name":"aws-node"}]}}}}'
Other notable changes:
- Use RouteReplace instead of RouteAdd (#379, @mogren)
system-node-criticalpriority class (#404, @nckturner)- Prometheus metric improperly named (#403, @shraykay)
- Add i3en, r5ad and t3a instance types (#459, @mogren)
- Avoid using force detach of ENIs (#458, @mogren)
- Added -W (wait for xlock's) flag to iptables commands (#439, @Zyqsempai)