Contributors ebarcott akseldavis

Upgrade to the Newest Version of Kubernetes

We have rolled out the ability to upgrade to Kubernetes 1.12. Kubernetes 1.12 offers many advantages over earlier versions, including:

  • Kubelet TLS bootstrap

  • Azure Virtual Machine Scale Sets (AVMSS)

  • RuntimeClass (alpha)

We strongly recommend you upgrade your Kubernetes clusters to the latest version. All new clusters will be created with the most recent version of Kubernetes by default.

Clusters running recent versions of Kubernetes can be upgraded through the NKS Control Plane. Click to select your cluster, then click the Upgrade button to upgrade Kubernetes.

Upgrade Kubernetes

Clusters running older versions of Kubernetes will need to be upgraded manually through a two-step process:

  1. Create a new Kubernetes cluster.

  2. Migrate to the new cluster.

Tips for Migrating to a New Kubernetes Cluster

Volumes

If you have volumes:

  • Detach the volumes from the current nodes.

  • Manually add the existing volumes to the new K8s cluster. More information on this process can be found in the official Kubernetes documentation.

  • Modify your pods to consume the volumes.

Special note: If you have a volume type hostpath in use, that data should be manually migrated to the new cluster.

Load Balancer Services

  • Determine which services at your cluster are using cloud provider load balancers.

  • Find the CNAMEs you set up at your DNS for those services.

  • Create the same services at the new cluster. This will create a new set of load balancers.

  • After the entire load is running at the new cluster, modify your CNAME entries to point to the new load balancers.

Ingress

  • Determine the IP that the ingress is exposing. This is the node’s IP address.

  • Find the CNAMEs you set up for that IP address.

  • Create the ingress at the new cluster, and retrieve the node’s new IP address.

  • After the entire load is running at the new cluster, modify your CNAME entries to point to the new IP address.