diff --git a/docs/howto/upgrade-cluster/index.md b/docs/howto/upgrade-cluster/index.md index fe7a56180f..40a10931f9 100644 --- a/docs/howto/upgrade-cluster/index.md +++ b/docs/howto/upgrade-cluster/index.md @@ -11,19 +11,26 @@ clusters on AWS. ## Upgrade policy -We aim to ensure we use a k8s version for the control plane and node groups that is at least **five minor versions** behind the latest one available at any given time. - -Ideally, the following rules should also be respected: - -1. Every new cluster we deploy should be using the latest available kubernetes version. -1. All of the clusters deployed in a cloud provider should be using the same version. -1. Check if new upgrades are needed at least every 3 months. - - -```{warning} -As of now, we have not yet established practices on how to ensure these upgrades happen according to the policy above. Establishing this is tracked in [this GitHub -issue](https://github.com/2i2c-org/infrastructure/issues/412). -``` +1. To keep our k8s cluster's control plane and node pools upgraded to the latest + _three_ and _four_ [official minor k8s versions] respectively at all times. +2. To await a level of maturity for minor k8s versions before we adopt them. + + Kubernetes distribution | Our maturity criteria + - | - + GKE | Part of [GKE's regular release channel] + EKS | [Supported by `eksctl`] and GKE + AKS | Listed as [generally available on AKS] +3. To upgrade k8s cluster's control plane and node pools at least _twice_ and + _once_ per year respectively. +4. To not disrupt user nodes with running users, by instead rolling out new user + node pools if needed and cleaning up the old at a later time. +5. To check if actions needs to be scheduled related to this in the beginning of + every quarter. + +[official minor k8s versions]: https://kubernetes.io/releases/ +[gke's regular release channel]: https://cloud.google.com/kubernetes-engine/docs/release-notes-regular +[supported by `eksctl`]: https://eksctl.io/getting-started/#basic-cluster-creation +[generally available on aks]: https://learn.microsoft.com/en-gb/azure/aks/supported-kubernetes-versions?tabs=azure-cli#aks-kubernetes-release-calendar ```{toctree} :maxdepth: 1