> ## Content Index
> Fetch the complete content index at: https://scriptcrunch.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to Upgrade the Kubernetes Kubeadm Cluster?
- URL: https://scriptcrunch.com/upgrade-kubernetes-kubeadm-cluster/
- Published: 2025-10-30T10:05:00.000Z
- Updated: 2026-06-23T08:55:52.000Z
- Author: Aswin Vijayan
- Tags: #Migrated-1758801465347, #wp, #wp-post, #Import 2025-09-25 11:57, Kubernetes Certifications

In this blog, we are going to see how to upgrade the [Kubernetes](https://scriptcrunch.com/tag/kubernetes/) [Kubeadm Cluster](https://scriptcrunch.com/create-static-pod-on-the-kubeadm-cluster/) to version 1.33.1.

The first control plane is upgraded to kubeadm and its control plane components (kubelet, kubectl). Then. worker nodes are upgraded to kubeadm and kubelet.

## Step to upgrade the Control Plane

Switch to the root user and run the commands in the steps below to upgrade the control plane.

### Step 1: Check the Kubeadm new version

To check a new version, you need to verify the package for the version. Use the command below to package.

```bash
apt-get update -y 

apt-mark unhold kubeadm

apt-cache madison kubeadm | tac
```

![](https://storage.ghost.io/c/98/9f/989fb5e0-fca9-4938-afe7-999714e98540/content/images/2025/10/image-8.png)

You can view the new kubeadm version.

### Step 2: Install the new version

Run the below command to install the new version of [kubeadm](https://scriptcrunch.com/solved-vagrant-kubeadm-cluster-crashes-on-reboot/),

```bash
sudo apt-get install -y kubeadm=1.33.5-1.1
```

Verify if the new version of Kubeadm is installed using the command

```bash
kubeadm version -o json
```

You will get the kubeadm version details in the following output, and you can see that version **1.33.5 has been** installed.

![](https://storage.ghost.io/c/98/9f/989fb5e0-fca9-4938-afe7-999714e98540/content/images/2025/10/image-9.png)

### Step 3: Upgrade Components of Control-Plane

Once the new version of kubeadm is installed, run the command below to view the control-plane component upgrade plan

```bash
kubeadm upgrade plan
```

It will show the current version of the components and the version it going to upgrade, to upgrade the components of the control node to the new version

```bash
kubeadm upgrade apply v1.33.5
```

Now we will hold the kubeadm package to prevent upgrades.

```bash
apt-mark hold kubeadm
```

### Step 4: Upgrade Kubelet and Kubeclt

Now, all the components of the control plane have been upgraded to the new version. Drain the control plane using the command provided below to

```bash
kubectl drain controlplane --ignore-daemonsets
```

Then, use the below command to upgrade kubelet and kubeclt to the new version

```bash
apt-mark unhold kubelet kubectl 

apt-get update -y

apt-get install kubelet=1.33.5-1.1 kubectl=1.33.5-1.1

apt-mark hold kubelet kubectl
```

Restart the service to make the changes

```bash
systemctl daemon-reload
systemctl restart kubelet
```

Now, everything has been upgraded, uncordon the master node and check the nodes

```bash
kubectl uncordon controlplane
```

To verify the node, use the command

```bash
kubectl get nodes
```

You can see the control plane is upgraded to version **1.33.5**.

![](https://storage.ghost.io/c/98/9f/989fb5e0-fca9-4938-afe7-999714e98540/content/images/2025/10/image-10.png)

## Steps to upgrade Worker Node

Upgrading the worker node is similar to upgrading the control plane, switch to the root user and run the commands in the steps below to upgrade the control plane.

### Step 1:Check the Kubeadm new version

To check the new version, you need to verify the package's version. Use the command below to package. same as controlplane

```bash
apt-get update -y 

apt-mark unhold kubeadm

apt-cache madison kubeadm | tac
```

Use the command below to update the apt

```bash
apt update
```

### Step 2: Install the new version

Run the below command to install the new version of kubeadm

```bash
apt-get install -y kubeadm=1.33.5-1.1

apt-mark hold kubeadm
```

Now, run the command below to upgrade the kubelet configurations of the worker node

```bash
kubeadm upgrade node
```

### Step 3: Drain the worker

Drain the worker plane node using the node name and make it unschedulable.

This command is used on the control plane:

```bash
 kubectl drain node01 --ignore-daemonsets 
```

### Step 4: Upgrade Kubelet

Use the command below to upgrade kubelet to the new version

```bash
apt-mark unhold kubelet

apt-get install kubelet=1.33.5-1.1

apt-mark hold kubelet
```

Restart the service to make the changes

```bash
systemctl daemon-reload
systemctl restart kubelet
```

Uncordon the node so that `node01` can be scheduled.

```bash
kubectl uncordon node01
```

After upgrading the worker node run the following command from the master node to verify if the nodes are upgraded to the new version

```bash
kubectl get nodes
```

![](https://storage.ghost.io/c/98/9f/989fb5e0-fca9-4938-afe7-999714e98540/content/images/2025/10/image-12.png)

You can see in the above image that the control-plane and worker have been upgraded to the new version **1.33.5**

## Conclusion

In this blog, we learned about upgrading the [Kubernetes cluster](https://scriptcrunch.com/check-kubernetes-cluster-health-status/).

I hope every step is easy to understand.