Release notes for Cluster API Provider AWS (CAPA) v2.0.0
IMPORTANT
This is a major version change due to a number of API changes. Please review the changes below in the API Changes section.
If you plan to create new EKS clusters, please be aware that we have re-introduced AWSManagedCluster
and it's advised that you use this as the infrastructure cluster going forwards. For example:
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: "ekstest"
spec:
clusterNetwork:
pods:
cidrBlocks: ["192.168.0.0/16"]
infrastructureRef:
kind: AWSManagedCluster
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
name: "ekstest"
controlPlaneRef:
kind: AWSManagedControlPlane
apiVersion: controlplane.cluster.x-k8s.io/v1beta2
name: "ekstest-control-plane"
Changelog since v1.5.1
What's Changed
⚠ API Changes
- add option for disabling instance refresh by @harveyxia in #3730
- Remove ARN field from AWSResourceReference by @Ankitasw in #3835
- Remove failure domain from AWSMachineSpec to respect CAPI's Machine/MD failure domain field by @Ankitasw in #3847
- feat: re-introduce awsmanagedcluster by @richardcase in #3797
🚀 Features
- feat: add custom environment variables to the 'aws-node' DaemonSet by @charlie-haley in #3374
- Add AWSMachinePool test to eks e2e test by @pydctw in #3607
- Add spot instance support in AWSMachinePool by @Ankitasw in #3563
- Add ClusterClass tests by @pydctw in #3472, #3491
- Add scaling from 0 support by @Skarlso in #3684
- Add ipv6 support for EKS by @Skarlso in #3513
- Align logging practices with cluster-api by @Skarlso in #3722
- Suspend and Resume ASG Processes by @Skarlso in #3741
- Unify the logger interface in CAPA by @Skarlso in #3776
- Enhance the EKSConfigTemplate and add configuration for files, mounts, users, ntp, etc for CAPI feature parity by @cnmcavoy in #3757
- allow annotation on MachinePool to set externally managed by @mweibel in #3683
- Make overwrite the default behaviour for conflict resolution in addons by @Skarlso in #3833
- Add CCM tag to routing tables by @Skarlso in #3838
- AWSManagedMachinePool - Launch Template support by @richardchen331 in #3094
🐛 Bug Fixes
- Removed additionalTag application on unmanaged subnets by @Ankitasw in #3512
- Revert "Streamline Ginkgo variables" #3501 by @sedefsavas in #3561
- Fix the json tag for VpcCni by @Skarlso in #3566
- Add deduplication handling and only update if there is a need for it by @Skarlso in #3568
- [clusterawsadm] Fix attaching CSI policy to control plane IAM role by @sedefsavas in #3595
- Fix aws-node-env checker to use the correct input and context by @Skarlso in #3612
- Fix apidiff target by @Prajyot-Parab in #3634
- Fix the update logic for aws-node daemonset environment properties by @Skarlso in #3677
- chore: adding rbac generation back in by @richardcase in #3685
- adding a return nil after deleting cni by @luthermonson in #3674
- Relax the AWSManagedControlPlane version regex and remove normalising the version by @Skarlso in #3682
- fix validation for aws tags with spaces by @Jacobious52 in #3702
- Fix multitenancy topic for secretRef syntax by @Skarlso in #3719
- Add elasticloadbalancing:DeregisterTargets to control plane role policy by @cnmcavoy in #3727
- Add ASG Instance AZ SDK API to CAPA API conversion by @Ankitasw in #3743
- Downgrade K8s dependency version to v0.24 by @sedefsavas in #3758
- Use the eksClusterName passed in to the function instead of the scope configured one by @Skarlso in #3713
- normalize oidc configs to string values for comparison by @luthermonson in #3735
- Try to find and verify existing OIDC providers before we try to create a new one by @codablock in #2901
- deleting additional vpc cni resources when disabled by @luthermonson in #3732
- Add EventBridge ec2 event reconciliation and rule creation to eks managed control planes by @cnmcavoy in #3752
- Skip deleting 'control-plane.cluster-api-provider-aws.sigs.k8s.io' if it does not exist in the e2e setup by @cnmcavoy in #3795
- [E2E] Fix test flavor generation make targets by @Ankitasw in #3800
- fix: remove check for root volume device name on create by @AverageMarcus in #3798
- rework vpc cni envvar logic to drop the forced keys by @luthermonson in #3681
- Change naming format of AMIs while searching for AMIs by @Ankitasw in #3790
- More nil checks for Version by @luthermonson in #3769
- [E2E] Add check that the pod list is not empty. by @Skarlso in #3841
- Change AMI name generation based on new format in image-builder by @Ankitasw in #3829
Please see the
CHANGELOG.md
attached in the assets section for a full list of changes that include documentation, dependency and other changes.
New Contributors
- @banthaherder made their first contribution in #3552
- @charlie-haley made their first contribution in #3374
- @yogeek made their first contribution in #3576
- @bhegazy made their first contribution in #3615
- @tobiasgiese made their first contribution in #3613
- @tasdikrahman made their first contribution in #3460
- @steve-fraser made their first contribution in #3737
- @harveyxia made their first contribution in #3730
- @AverageMarcus made their first contribution in #3798
- @cablunar made their first contribution in #3815
- @phoban01 made their first contribution in #3467
The image for this release is: registry.k8s.io/cluster-api-aws/cluster-api-aws-controller:v2.0.0
A special thanks to @dlipovetsky, @Ankitasw and @Skarlso who have moved to be maintainers. And also to @AverageMarcus who moved to be a reviewer.
Thank you to all our contributors!