v0.9.4-beta.0
Pre-release- Transitional release for AKS to upgrade to the new Terraform provider and AKS APIs. Has breaking changes.
Upgrade Notes
EKS and GKE
There are no changes to EKS or GKE in this release. This release only affects AKS clusters.
AKS
There are two changes that will destroy and re-create various resources, that are required due to upstream changes. The azurerm
provider starting with version v2.14.0
uses a different AKS API and this causes two issues:
- It requires instances with min. 2 CPU cores and 4GB memory. Changing the instance type forces a destroy and recreate.
- Loadbalancer's created by Kubernetes use
Standard
SKU, previously created IPs are ofBasic
SKU. Changing the SKU forces a new IP.
Upgrade by migrating workloads
To upgrade without downtime users will need to create a second cluster with the new module version, migrate workloads and then remove the old cluster module from their configuration.
Upgrade with a maintenance window
Alternatively, users can upgrade existing clusters with the following steps. Following these steps destroys and recreates the cluster and the public IP and this is likely to cause disruptions to cluster ingress and stateful workloads. You can follow the documentation for adding a new cluster and then removing a cluster.
Steps to upgrade existing clusters:
- First upgrade to
v0.9.3-beta.1
and disable the default ingress by settingdisable_default_ingress = true
inconfig.auto.tfvars
. Then apply this change. This will destroy all Ingress related resources, otherwise the next step will fail with a circular dependency. - Now upgrade to
v0.9.4-beta.0
. Applying this will recreate the cluster if your current instance type does not meet the minimum requirements. - Finally, re-enable the default ingress by setting
disable_default_ingress = false
or removing the attribute. Applying this will create a new IP and DNS resources for cluster ingress again.