Changes since v0.6.0
⚠️ Breaking Changes
- EKS Control Plane Provider (aws-eks) has been introduced (#1949, #1997, #1939, #1973, #1966, #1960, #1943)
As part of this work the infrastructure manager has been refactored to remove the EKS control plane functionality. This means the new provider along with the existing EKS bootstrap provider (which has been renamed aws-eks) will need to be used if you want to create EKS based clusters with Cluster API Provider AWS. For example:
export EXP_EKS=true
clusterctl --infrastructure=aws --control-plane=aws-eks --bootstrap=aws-eks
✨ New Features
- Allow AWS Systems Manager Parameter Store to be used as a secrets backend for userdata for regions where AWS Secrets Manager is not available (#1924)
- Add a tag to instances during creation that matches the Cluster API machine name (#2015)
- Additional user & role mappings for aws-iam-authenticator are now configurable (#1995, #2002, #1938)
- AWSMachinePools support for EC2 autoscaling groups (#1860, #2010, #2014, #2007, #1863, #2021, #2006, #2000)
- AWSManagedMachinePool (EKS managed nodegroup) support (#1916, #2024, #2013)
- Allow specifying subnet IDs to be used for control plane load balancers (#1931)
- Add ability to specify instance tenancy, i.e. dedicated EC2 instances (#1926)
- Add conditions for the reconcile delete workflow (#1905)
- Cluster API Provider AWS can be configured to use custom endpoints for connecting to AWS services (#1858)
- Improved validation around fields that are passed in as AWS API parameters (#1978)
🐛 Bug Fixes
- Persist subnet changes into the AWSCluster spec early when using default subnets (#1915)
- Allow the usage of unmanaged VPCs without public subnets (#1884)
- Fix NPE when deleting security groups on cluster deletion (#1996)
- Add externalManagedControlPlane Status to allow node drains under EKS (#1992, #1994)
- Fix for allowing nodes to join the EKS cluster (#1962)
- Fix bastion reconcilation and connection error when using
eks
flavor (#1957) - Retry with listing all ELBs when listing by tag fails, fixing an issue in environments where the ResourceTagging API is not available (#1952)
- AWSMachine ssh key should defer to that configured on the AWSCluster resource when nil (#1932)
- Add capi exp schema and fix manager args and rbac (#1936)
- Fix volume description to remove 'root' since it's also used for non-root volume (#2005)
- Fix incorrect capitalization for eks field (#1998)
📖 Documentation
- Cluster API Provider AWS has a new website: cluster-api-aws.sigs.k8s.io (#1947, #2017, #2028, #1981)
- Add docs on updating AWS credentials used by Cluster API Provider AWS (#1948)
🌱 Others
- Remove unused integration test on pull requests (#2012)
- e2e: Add test for spot instances (#1963)
- e2e: Verify code compiles on pull requests (#1953)
- e2e: Install CNI using ClusterResourceSet (#1816)
- unit tests: instances - Sort tag keys so unit tests can succeed (#1937)
- Show more helpful error message when duplicate clusters are created across namespaces, resulting in duplicate VPCs (#1880)
- Golang version updated to 1.13.15 (#1944)
- Controller runtime updated to 0.5.11 (#1950)
The images for this release is:
Core AWS Controller: us.gcr.io/k8s-artifacts-prod/cluster-api-aws/cluster-api-aws-controller:v0.6.1
EKS Bootstrap Controller: us.gcr.io/k8s-artifacts-prod/cluster-api-aws/eks-bootstrap-controller:v0.6.1
EKS ControlPlane Controller: us.gcr.io/k8s-artifacts-prod/cluster-api-aws/eks-controlplane-controller:v0.6.1
Thanks to all our contributors! 😊