kubeadm upgrade plan to see what versions are available and what will be upgraded. Always run this first.drain it so pods are evicted safely. After the upgrade, uncordon it.kubeadm package itself to the target version using apt or yum.kubeadm upgrade apply v1.29.0 to upgrade the control plane components: API server, scheduler, controller manager, etcd.kubelet and kubectl, then uncordon the node.kubeadm upgrade node instead of kubeadm upgrade apply. The apply command is only for the control plane.drain the worker node first from the control plane not from the worker itself. This evicts all pods to other nodes.kubectl get nodes shows the Kubernetes version for each node. All nodes should now show v1.29.0.kube-system are running normally after the upgrade.