Releases: aws/amazon-vpc-cni-k8s
Release 1.10.0
v1.10.0
Important
v1.10.0 version has a dependency on IMDSv1 access being available for Host Networking Pods. For clusters with IMDSv1 access disabled, please use v1.10.1 instead.
Release Notes:
v1.10.0 release introduces IPv6 support in VPC CNI. IPv4 mode is enabled by default. Please refer to ENABLE_IPv6 section for detailed information around IPv6 support in VPC CNI. Dual stack mode isn't supported. Refer to the troubleshooting doc for known issues/limitations.
Changes since v1.9.3:
- Feature - IPv6 Support(#1587, @achevuru)
- Enhancement - Handle delays tied to V6 interfaces(#1631, @achevuru)
- Enhancement - Support for Bandwidth Plugin(#1560, @jayanthvn)
- Enhancement - Knob to enable bandwidth plugin(#1580, @jayanthvn)
- Testing - IPv6 Integration test suite(#1658, @achevuru)
Thanks to all the contributors ❤️ !!!
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.10.0/config/master/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.10.0
amazon-k8s-cni:v1.10.0
Note:
Amazon EKS does not yet support IPv6. You can follow progress on this feature by subscribing to the issue for EKS IPv6 support on the containers roadmap.
Release 1.9.3
v1.9.3
Changes since v1.9.1:
- Improvement - Update golang (#1665, @jayanthvn)
- Improvement - Pod startup latency with Calico and EKS (#1629, @jayanthvn)
- Bug - Make error count granular (#1651, @jayanthvn)
- Bug - ServiceAccount should precede DaemonSet in yaml aws (#1637, @sramabad1)
- Testing - Enable unit tests upon PR to release branch (#1684, @vikasmb)
- Testing - Upgrade EKS cluster version (#1680, @vikasmb)
Thanks to all the contributors ❤️ !!!
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.9/config/v1.9/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.9.3
amazon-k8s-cni:v1.9.3
v1.9.1 Release
v1.9.1
Changes since v1.9.0:
- Enhancement - Support DISABLE_NETWORK_RESOURCE_PROVISIONING (#1586, @jayanthvn)
- Enhancement - Allow reconciler retry for InsufficientCIDR EC2 error (#1585, @jayanthvn)
- Enhancement - Support for setting no_manage=false (#1607, @jayanthvn)
- Enhancement - Support for m6i instances (#1601, @causton81)
- Bug - Fallback for get hypervisor type and eni ipv4 limits (#1616, @jayanthvn)
- Bug - fix typo and regenerate limits file (#1597, @jayanthvn)
- Testing - UTs for no_manage=false (#1612, @jayanthvn)
- Testing - Run integration test on release branch (#1615, @vikasmb)
Thanks to all the contributors ❤️ !!!
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.9.1/config/v1.9/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.9.1
amazon-k8s-cni:v1.9.1
v1.9.0 Release
v1.9.0
The CNI v1.9.0 release will support higher pod density per node and also reduces the number of EC2 calls to create and attach more ENIs by leveraging the recent EC2 feature - Assigning prefixes to Amazon EC2 network interfaces. This feature is only supported on "nitro" based instances. Each secondary IP will be replaced by a (/28) prefix and IPAMD will derive a (/32) IP from these prefixes for pod IP allocation. Number of prefixes which can be attached to the ENI is still limited by the IP addresses per network interface per instance type- for instance a t3.medium can have 5 (/28)prefixes per ENI. Since the number of pods per node will increase, make sure the max pods are adjusted appropriately and keep in mind CPU and memory constraints will limit the number of pods that be deployed on a node. To help with the max pods computation we have added this helper script.
To enable the feature, set ENABLE_PREFIX_DELEGATION
to true
. This environment variable can be set to true or false while pods are running but kubelet maxPods has to be manually changed.
PS: This feature is available in all public regions and AWS GovCloud (US), with support in China (Beijing), and China (Ningxia) coming soon.
kubectl set env daemonset aws-node -n kube-system ENABLE_PREFIX_DELEGATION=true
With this feature we support WARM_PREFIX_TARGET and IPAMD will keep a free prefix in warm pool. We also support WARM_IP_TARGET and MINIMUM_IP_TARGET and IPAMD will allocate a new prefix if the existing prefixes are not sufficient to maintain the warm pool. This document talks about how these 3 warm targets impact the number of IPs available in the warm pool.
Since the IPs with this feature will be allocated from the prefixes, we won't be able to support downgrades. Also WARM_ENI_TARGET won't be supported with ENABLE_PREFIX_DELEGATION set to true
.
Changes since v1.8.0:
- Enhancement - EC2 sdk model override (#1508, @jayanthvn)
- Enhancement - Prefix Delegation feature support (#1516, @jayanthvn)
- Enhancement - Header formatting for env variable (#1522, @jayanthvn)
- Enhancement - non-nitro instances init issues (#1527, @jayanthvn)
- Enhancement - Add metrics for total prefix count and ips used per cidr (#1530, @jayanthvn)
- Enhancement - Update documentation for PD (#1540, @jayanthvn)
- Enhancement - Update SDK Go version (#1544, @jayanthvn)
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.9.0/config/v1.9/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.9.0
amazon-k8s-cni:v1.9.0
v1.8.0 Release
v1.8.0
Changes since v1.7.10:
- Bug - Use symmetric return path for non-VPC traffic - alternate solution (#1475, @kishorj)
- Bug - Gracefully handle failed ENI SG update (#1341, @jayanthvn)
- Bug - Fix CNI crashing when there is no available IP addresses (#1499, @M00nF1sh)
- Bug - Use primary ENI SGs if SG is null for Custom networking (#1259, @jayanthvn)
- Bug - Don't cache dynamic VPC IPv4 CIDR info (#1113, @anguslees)
- Improvement - Address Excessive API Server calls from CNI Pods (#1419, @achevuru)
- Improvement - refine ENI tagging logic (#1482, @M00nF1sh)
- Improvement - Change tryAssignIPs to assign up to configured WARM_IP_TARGET (#1279, @jacksontj)
- Improvement - Use regional STS endpoint (#1332, @nithu0115)
- Improvement - Update containernetworking dependencies (#1200, @mogren)
- Improvement - Split Calico manifest into two (#1410, @caseydavenport)
- Improvement - Update Calico manifest to support ARM & AMD (#1282, @jayanthvn)
- Improvement - Auto gen of AWS CNI, metrics helper and calico artifacts through helm (#1271, @jayanthvn)
- Improvement - Refactor EC2 Metadata IMDS code (#1225, @anguslees)
- Improvement - Unnecessary logging for each CNI invocation (#1469, @jayanthvn)
- Improvement - New instance types (#1463, @jayanthvn)
- Improvement - Use 'exec' ENTRYPOINTs (#1432, @anguslees)
- Improvement - Fix logging texts for ENI cleanup (#1209, @mogren)
- Improvement - Remove Duplicated vlan IPTable rules (#1208, @mogren)
- Improvement - Minor code cleanup (#1198, @mogren)
- HelmChart - Adding flags to support overriding container runtime endpoint. (#1443, @haouc)
- HelmChart - Add podLabels to amazon-vpc-cni chart (#1440, @haouc)
- HelmChart - Add workflow to sync aws-vpc-cni helm chart to eks-charts (#1430, @fawadkhaliq)
- Testing - Remove validation of VPC CIDRs from ip rules (#1476, @kishorj)
- Testing - Updated agent version (#1474, @cgchinmay)
- Testing - Fix for CI failure (#1470, @achevuru)
- Testing - Binary for mtu and veth prefix check (#1458, @cgchinmay)
- Testing - add test to verify cni-metrics-helper puts metrics to CW (#1461, @abhipth)
- Testing - add e2e test for security group for pods (#1459, @abhipth)
- Testing - Added Test cases for EnvVars check on CNI daemonset (#1431, @cgchinmay)
- Testing - add test to verify host networking setup & cleanup (#1457, @abhipth)
- Testing - Runners failing because of docker permissions (#1456, @jayanthvn)
- Testing - decouple test helper input struct from netlink library (#1455, @abhipth)
- Testing - add custom networking e2e test suite (#1445, @abhipth)
- Testing - add integration test for ipamd env variables (#1453, @abhipth)
- Testing - add agent for testing pod networking (#1448, @abhipth)
- Testing - fix format of commited code to fix unit test step (#1449, @abhipth)
- Testing - Unblocks Github Action Integration Tests (#1435, @couralex6)
- Testing - add warm ENI/IP target integration tests (#1438, @abhipth)
- Testing - add service connectivity test (#1436, @abhipth)
- Testing - add network connectivity test (#1424, @abhipth)
- Testing - add ginkgo automation framework (#1416, @abhipth)
- Testing - Add some test coverage to allocating ENIs (#1234, @mogren)
- Testing - Add some minimal tests to metrics (#1228, @mogren)
Thanks to all the contributors ❤️ !!!
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.8.0/config/v1.8/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.8.0
amazon-k8s-cni:v1.8.0
v1.7.10 Release
v1.7.10
Changes since v1.7.9:
- Improvement - Multi card support - Prevent route override for primary ENI across multi-cards ENAs (#1396 by jayanthvn)
Currently P4 family supports more than one network card and IPAMD will ignore ENIs on non-zero network cards. IPAMD will continue to manage ENI allocation on network card 0 but will not manage ENIs on non-zero network cards.
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.10/config/v1.7/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.7.10
amazon-k8s-cni:v1.7.10
1.7.10 Release Candidate 1
v1.7.10-rc1
Changes since v1.7.9:
- Improvement - Multi card support - Prevent route override for primary ENI across multi-cards ENAs (#1396 by jayanthvn)
Currently P4 family supports more than one network card and IPAMD will ignore ENIs on non-zero network cards. IPAMD will continue to manage ENI allocation on network card 0 but will not manage ENIs on non-zero network cards.
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.10-rc1/config/v1.7/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.7.10-rc1
amazon-k8s-cni:v1.7.10-rc1
v1.7.9 Release
v1.7.9
Changes since v1.7.8:
- Improvement - Adds http timeout to aws sessions (#1370 by couralex6)
- Improvement - Switch calico to be deployed with the Tigera operator (#1297 by tmjd)
- Improvement - Update calico to v3.17.1 (#1328 by lwr20)
- Improvement - update plugins to v0.9.0 (#1362 by fr0stbyte)
- Improvement - update github.com/containernetworking/plugins to v0.9.0 (#1350 by fr0stbyte)
- Bug - Fix regex match for getting primary interface (#1311 by Jayanthvn)
- Bug - Output to stderr when no log file path is passed (#1275 by couralex6)
- Bug - Fix deletion of hostVeth rule for pods using security group (#1376 by SaranBalaji90)
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.9/config/v1.7/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.7.9
amazon-k8s-cni:v1.7.9
v1.7.9 Release Candidate 1
v1.7.9 Release Candidate 1
Changes since v1.7.8:
- Improvement - Adds http timeout to aws sessions (#1370 by couralex6)
- Improvement - Switch calico to be deployed with the Tigera operator (#1297 by tmjd)
- Improvement - Update calico to v3.17.1 (#1328 by lwr20)
- Improvement - update plugins to v0.9.0 (#1362 by fr0stbyte)
- Improvement - update github.com/containernetworking/plugins to v0.9.0 (#1350 by fr0stbyte)
- Bug - Fix regex match for getting primary interface (#1311 by Jayanthvn)
- Bug - Output to stderr when no log file path is passed (#1275 by couralex6)
- Bug - Fix deletion of hostVeth rule for pods using security group (#1376 by SaranBalaji90)
To apply this release:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.7/config/v1.7/release-candidate/aws-k8s-cni.yaml
Verify the update:
$ kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.7.9-rc1
amazon-k8s-cni:v1.7.9-rc1
v1.7.8 Release
This is a patch release to make EC2 DescribeNetworkInterfaces calls paginated and avoid EC2 API call latency in some cases.
Changes since v1.7.7 -
- Improvement - Replace DescribeNetworkInterfaces with paginated version (#1333, @haouc)
If you want to apply this config to one of your clusters:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.8/config/v1.7/aws-k8s-cni.yaml
Verify the update:
kubectl describe daemonset aws-node -n kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni-init:v1.7.8
amazon-k8s-cni:v1.7.8
To use version v1.7.8 of the cni-metrics-helper in a cluster:
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.8/config/v1.7/cni-metrics-helper.yaml