Skip to content

Part 3: Upgrade

This is Part 3 of a multi-part, self-paced quick start exercise that will upgrade the control plane and worker nodes to a more recent kubernetes version using the web console or the RCTL CLI.


What Will You Do

In this guide, you will:

  • Upgrade the control plane kubernetes version
  • Upgrade the worker nodes kubernetes version

Step 1: Upgrade Control Plane and Node Pools

In this step, you will upgrade the kubernetes version for the control plane and the node pools.

Confirm the current control plane version of the cluster

  • Navigate to the previously created project in your Org
  • Go to Infrastructure -> Clusters and view the current version of the control plane

Verify Control Plane Version

Confirm the current node pool version of the cluster

  • Select Infrastructure -> Clusters
  • Click on the cluster name on the cluster card
  • Click the "Nodes" tab
  • Expand the node card to see the version

Verify Node Pool Version

  • Select Infrastructure -> Clusters
  • Click on "Upgrade Available" on the cluster card
  • Select the version to upgrade to
  • Select "Control Plane + Node Pools" for the AKS Version Upgrade Type
  • Select the node pools to be upgraded
  • Click "Upgrade"

Web Upgrade

The upgrade process will begin upgrading the control plane

Web Upgrade

The upgrade process will then move to upgrading the node pools

Web Upgrade

The completed upgrade will look like the below:

Web Upgrade


Step 1: Upgrade Control Plane and Node Pools

In this step, you will upgrade the kubernetes version for the control plane and the node pools.

Confirm the current control plane version of the cluster

  • Navigate to the previously created project in your Org
  • Go to Infrastructure -> Clusters and view the current version of the control plane

Verify Control Plane Version

Confirm the current node pool version of the cluster

  • Select Infrastructure -> Clusters
  • Click on the cluster name on the cluster card
  • Click the "Nodes" tab
  • Expand the node card to see the version

Verify Node Pool Version

Download the current cluster config from the existing cluster

  • Go to Infrastructure -> Clusters. Click on the settings icon of the cluster and select "Download Cluster Config"
  • Update the downloaded specification file with the desired "kubernetesVersion" for the control plane
  • Update the downloaded specification file with the desired "orchestratorVersion" for the node pool
kubernetesVersion: 1.23.12
orchestratorVersion: 1.23.12

The updated YAML file will look like this:

apiVersion: rafay.io/v1alpha1
kind: Cluster
metadata:
  name: aks-get-started-cluster
  project: aks
spec:
  blueprint: default-aks
  cloudprovider: Azure-CC
  clusterConfig:
    apiVersion: rafay.io/v1alpha1
    kind: aksClusterConfig
    metadata:
      name: aks-get-started-cluster
    spec:
      managedCluster:
        apiVersion: "2022-07-01"
        identity:
          type: SystemAssigned
        location: centralindia
        properties:
          apiServerAccessProfile:
            enablePrivateCluster: true
          dnsPrefix: aks-get-started-cluster-dns
          kubernetesVersion: 1.23.12
          networkProfile:
            loadBalancerSku: standard
            networkPlugin: kubenet
        sku:
          name: Basic
          tier: Free
        type: Microsoft.ContainerService/managedClusters
      nodePools:
      - apiVersion: "2022-07-01"
        location: centralindia
        name: primary
        properties:
          count: 2
          enableAutoScaling: true
          maxCount: 2
          maxPods: 40
          minCount: 2
          mode: System
          orchestratorVersion: 1.23.12
          osType: Linux
          type: VirtualMachineScaleSets
          vmSize: Standard_DS2_v2
        type: Microsoft.ContainerService/managedClusters/agentPools
      resourceGroupName: Rafay-ResourceGroup
  proxyconfig: {}
  type: aks
  • Execute the following command to begin the upgrade of the control plane and node pool. Note, update the file name in the below command with the name of your updated specification file

./rctl apply -f aks-get-started-cluster-config.yaml
Expected output (with a task id):

{
  "taskset_id": "j2q8e82",
  "operations": [
    {
      "operation": "ClusterUpgrade",
      "resource_name": "aks-get-started-cluster",
      "status": "PROVISION_TASK_STATUS_PENDING"
    }
  ],
  "comments": "The status of the operations can be fetched using taskset_id",
  "status": "PROVISION_TASKSET_STATUS_PENDING"
}

From the web console, you can see that the upgrade is in progress. Note that the upgrade can take up to 15 minutes to complete.

Cluster Upgrade

Once the upgrade is complete, you can see that the kubernetes version of the cluster control plane has been upgraded.

Verify Cluster Version

You can see that the kubernetes version of the node pool has been upgraded as well.

Verify Cluster Version


Recap

Congratulations! At this point, you have

  • Successfully upgraded the control plane version of the cluster
  • Successfully upgraded the node pool version