Skip to content

Learn KOP - Upgrade EKS Cluster

In this part, you will perform an "in-place upgrade" of the EKS control plane and worker nodes to a more recent kubernetes version.


In-Place Upgrade

Note

You can either use the web console OR use a declarative cluster specification and use the RCTL CLI to provision and manage your EKS cluster.

To Do

  • Go to Infrastructure -> Clusters
  • Click on the settings icon of the cluster and select "Download Cluster Config"
  • Update the downloaded specification file with the new Kubernetes version

The updated YAML file will look like this:

kind: Cluster
metadata:
  name: demo-eks-testing
  project: defaultproject
spec:
  blueprint: minimal
  cloudprovider: demo
  cniprovider: aws-cni
  proxyconfig: {}
  type: eks
---
apiVersion: rafay.io/v1alpha5
kind: ClusterConfig
managedNodeGroups:
- amiFamily: AmazonLinux2
  desiredCapacity: 2
  iam:
    withAddonPolicies:
    autoScaler: true
  instanceType: t3.large
  maxSize: 2
  minSize: 1
  name: ng-1
  version: "1.23"
  volumeSize: 80
  volumeType: gp3
metadata:
  name: demo-eks-testing
  region: us-west-2
  version: "1.23"
vpc:
  cidr: 192.168.0.0/16
  clusterEndpoints:
    privateAccess: true
    publicAccess: false
  nat:
    gateway: Single
  • Execute the following command to begin the upgrade of the control plane version

./rctl apply -f eks-cluster-testing.yaml
Expected output (with a task id):

``` Cluster: demo-eks-testing { "taskset_id": "3mxdjkr", "operations": [ { "operation": "ClusterUpgrade", "resource_name": "demo-eks-testing", "status": "PROVISION_TASK_STATUS_PENDING" } ], "comments": "The status of the operations can be fetched using taskset_id", "status": "PROVISION_TASKSET_STATUS_PENDING" }

```

Monitor Upgrade

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

Once the upgrade is complete, we can see that the kubernetes version of "both" the cluster control plane and the worker nodes have been upgraded.


Recap

Congratulations! You have successfully performed an "in-place upgrade" of both the control plane and the worker nodes to a new version of Kubernetes.