# \[SOLVED\] Kubeadm upgrade fails on Worker node

**URL:** <https://discuss.kubernetes.io/t/solved-kubeadm-upgrade-fails-on-worker-node/27425>\
**Category:** General Discussions\
**Created:** [March 11, 2024, 6:53pm UTC](https://discuss.kubernetes.io/t/solved-kubeadm-upgrade-fails-on-worker-node/27425 "2024-03-11T18:53:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![czezz](https://avatars.discourse-cdn.com/v4/letter/c/54ee81/32.png) [@czezz](https://discuss.kubernetes.io/u/czezz)\
**Post date:** [March 11, 2024, 6:53pm UTC](https://discuss.kubernetes.io/t/solved-kubeadm-upgrade-fails-on-worker-node/27425/1 "2024-03-11T18:53:08Z")

</div>

### Cluster information:

```auto
Kubernetes version: v1.28.2 (Master is already v1.28.7)
Cloud being used: Virtualbox VMs
Installation method: Kubernetes Cluster VirtualBox
Host OS: Ubuntu 22.04.2 LTS
CNI and version: calico
CRI and version: containerd://1.7.2

```

Kubernetes upgrade went well on Master node.  
However,when I started with Worker node I got stuck here:

```auto
root@worker01:~# kubeadm upgrade apply v1.28.7
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[upgrade/config] FATAL: failed to getAPIEndpoint: could not retrieve API endpoints for node "worker01" using pod annotations: timed out waiting for the condition
To see the stack trace of this error execute with --v=5 or highe

```

Does anyone understand what is wrong?

---

<div class="post-metadata">

**Author:** ![czezz](https://avatars.discourse-cdn.com/v4/letter/c/54ee81/32.png) [@czezz](https://discuss.kubernetes.io/u/czezz)\
**Post date:** [March 11, 2024, 7:04pm UTC](https://discuss.kubernetes.io/t/solved-kubeadm-upgrade-fails-on-worker-node/27425/2 "2024-03-11T19:04:25Z")

</div>

I will reply to myself with solution.  
Apparently to upgrade command for node/worker is different than for master.  
On Master node it looks like this:

`kubeadm upgrade apply v1.28.7`

However, on Worker node it is just this (without indicating version):

```auto
kubeadm upgrade node

root@worker01:~# kubeadm upgrade node
[upgrade] Reading configuration from the cluster...
[upgrade] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[preflight] Running pre-flight checks
[preflight] Skipping prepull. Not a control plane node.
[upgrade] Skipping phase. Not a control plane node.
[upgrade] Backing up kubelet config file to /etc/kubernetes/tmp/kubeadm-kubelet-config1211779856/config.yaml
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[upgrade] The configuration for this node was successfully updated!
[upgrade] Now you should go ahead and upgrade the kubelet package using your package manager.

```
