Upgrade Kubernetes clusters

Upgrade Kubernetes clusters#

How we upgrade a Kubernetes cluster is specific to the cloud provider. This section covers topics in upgrading an existing Kubernetes cluster.

Warning

As of now, we are lacking written documentation for how to upgrade Kubernetes clusters on GCP.

Upgrade planning#

Warning

We haven’t yet established a policy for planning and communicating maintenance procedures to community champions and users.

Up until now we have made some k8s cluster upgrades opportunistically, especially for clusters that has showed little to no activity during some periods. Other cluster upgrades have been scheduled with community champions, and some in shared clusters have been announced ahead of time.

Upgrade ambition#

  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 is GKE mature

    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.