Skip to content

Releases: aws/amazon-vpc-cni-k8s

v1.5.3 Release

12 Aug 19:48
Compare
Choose a tag to compare

This release includes a rewrite of the the v1.5.2 bash code to go and adds a fix for a startup issue with stuck ENIs.

v1.5.3

All changes since v1.5.1: v1.5.1...v1.5.3

To use this version in a cluster:

kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.5/config/v1.5/aws-k8s-cni.yaml

v1.5.2 Release

06 Aug 19:53
Compare
Choose a tag to compare

The major change in this release is that worker nodes will stay in NotReady status until ipamd is ready to assign IPs to pods. (#553)

Extra thanks to @uthark and @nithu0115 for debugging and contributing some important fixes.

v1.5.2

Full changelog: 2ceb59c...e5f2b85

v1.5.2 Release Candidate 1

05 Aug 07:50
Compare
Choose a tag to compare
Pre-release

First release candidate for v1.5.2.

Note! This release is not meant for production use, it is still being tested.

The major change in this release is that the node will not become ready until ipamd is ready to assign IPs to pods by using the newly added health endpoint. This release candidate includes the eniconfig fix from v1.5.1.

Other notable changes:

  • 628f2c2 - Updating AWS Go SDK version.
  • 081539e - Detach ENI before deleting
  • 31821f9 - Reduce the wait time when checking for pods without IPs
  • 6ecba52 - Ignore namespace for custom eniconfig watch (v1.5.1)

Full changelog of v1.5.2-rc1

If you want to test 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.2-rc1","name":"aws-node"}]}}}}'

Verify the update:

kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2

amazon-k8s-cni:v1.5.2-rc1

v1.5.1 Release

04 Aug 04:43
Compare
Choose a tag to compare

This release is a minor patch release for clusters with a custom network config.

v1.5.1

v1.5.1 Release Candidate 1

01 Aug 18:19
Compare
Choose a tag to compare
Pre-release

First release candidate for v1.5.1.

Note! This release is not meant for production use, it is still being tested.

The major change in this release is that the node will not become ready until ipamd is ready to assign IPs to pods by using the newly added health endpoint.

Other notable changes:

  • 628f2c2 - Updating AWS Go SDK version.
  • 081539e - Detach ENI before deleting
  • 31821f9 - Reduce the wait time when checking for pods without IPs

Full changelog of v1.5.1-rc1

If you want to test 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.1-rc1","name":"aws-node"}]}}}}'

Verify the update:

kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2

amazon-k8s-cni:v1.5.1-rc1

v1.5.0 Release

04 Jun 21:37
Compare
Choose a tag to compare

This release improves the CNI behavior when the number of IPs available to the cluster is constrained. Setting a WARM_IP_TARGET will now return IPs that are not assigned to pods back to the subnet.

Note! Setting a low WARM_IP_TARGET will increase the number of calls being made to EC2, and if the cluster is large, or the pod churn high, there is a risk of getting throttled. If that happens, no ENIs or IPs will be available untill the throttling stops.

The EKS team wishes to express appreciation to the FICO engineering team for their collaboration on this release.

Also thanks to our external contributors @forsberg, @venkatesh-eb, @Zyqsempai and @bboreham that have contributed to this release.

v1.5.0

v1.5.0 Release Candidate 1

21 May 00:04
b9c8f98
Compare
Choose a tag to compare
Pre-release

First 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:

v1.4.1 Release

03 May 21:37
d9c8886
Compare
Choose a tag to compare

This release adds the environment variables DISABLE_INTROSPECTION and DISABLE_METRICS
to make it possible to turn off metrics and debugging.

The metrics agent has been updated and can be added by first adding an IAM policy with the following permissions the node group's IAM role:

ec2:DescribeTags
cloudwatch:PutMetricData

And then applying the config:

kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.4/config/v1.4/cni-metrics-helper.yaml

v1.4.1

v1.3.4 Release

02 May 00:35
7b947c8
Compare
Choose a tag to compare

This release adds the environment variables DISABLE_INTROSPECTION and DISABLE_METRICS
to make it possible to turn off metrics and debugging.

v1.4.0 Release

15 Apr 23:01
1e879b3
Compare
Choose a tag to compare

We are happy to note that this release includes community contributions from @mikkeloscar, @rickardrosen, @nak3, @pdbogen, @ikatson, @sftim, @etopeter, @ankon, @tustvold, @ewbankkit, @errordeveloper, @rudoi, @max-rocket-internet, @2ffs2nns, @peterbroadhurst and @StevenACoffman.

Notable changes in release v1.4.0

For running this in your own cluster:

kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.4/config/v1.4/aws-k8s-cni.yaml

Note! If you are still running a Kubernetes 1.10 or older, you need to use the old CRD configuration:

kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.4/config/v1.4/aws-k8s-cni-1.10.yaml

Check that the CNI version got updated:

kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni:v1.4.0