Closed sgibson91 closed 1 month ago
This is reserved for @sgibson91 to work on.
Used 25mins of the spike to provide similar terraform functionality to that of GCP in providing an output listing the latest supported versions
There are automatic upgrade options for k8s on Azure, but I'm not sure what our policy on using them is. E.g., do we prefer to be in control of when we upgrade to communicate potential outages? My instinct is saying yes.
ETA: I see we have explicitly disabled the release channels in GCP too so that verifies my feeling that we want to do this manually.
Terraform treats k8s version upgrades an update-in-place
:+1:
node_pool
variable. Use kubernetes_version
variable to define the new version for the control plane. Run tf plan
& tf apply
.tf plan
& tf apply
.If the update happens in place, I don't think we'll need to worry about rolling and recreation upgrades like in AWS (where all the nodepools get destroyed and recreated to be upgraded).
Context
Upgrading the k8s version the control planes and nodepools of our clusters is an ongoing maintenance task, but we currently do not have documentation/policies on how to manage this for our Azure clusters. This spike will tell us what options we have available to us and inform how we want to canonically approach Azure k8s version upgrades going forward.
https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster (and links therein) should provide some helpful info.
Task list
No response
Definition of Done
Pre-defined Definition of Done