If you set up your k8s cluster using kubeadm, and you’re planning to perform a cluster upgrade, you can check first the next available target version with kubeadm upgrade plan:
kubeadm upgrade plan
[preflight] Running pre-flight checks.
[upgrade/config] Reading configuration from the "kubeadm-config" ConfigMap in namespace "kube-system"...
[upgrade/config] Use 'kubeadm init phase upload-config --config your-config.yaml' to re-upload it.
[upgrade] Running cluster health checks
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: 1.32.0
[upgrade/versions] kubeadm version: v1.32.0
I0707 12:17:15.210463 16881 version.go:261] remote version is much newer: v1.33.2; falling back to: stable-1.32
[upgrade/versions] Target version: v1.32.6
[upgrade/versions] Latest version in the v1.32 series: v1.32.6
Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT NODE CURRENT TARGET
kubelet controlplane v1.32.0 v1.32.6
kubelet node01 v1.32.0 v1.32.6
Upgrade to the latest version in the v1.32 series:
COMPONENT NODE CURRENT TARGET
kube-apiserver controlplane v1.32.0 v1.32.6
kube-controller-manager controlplane v1.32.0 v1.32.6
kube-scheduler controlplane v1.32.0 v1.32.6
kube-proxy 1.32.0 v1.32.6
CoreDNS v1.10.1 v1.11.3
etcd controlplane 3.5.16-0 3.5.16-0
You can now apply the upgrade by executing the following command:
kubeadm upgrade apply v1.32.6
Note: Before you can perform this upgrade, you have to update kubeadm to v1.32.6.
_____________________________________________________________________
The table below shows the current state of component configs as understood by this version of kubeadm.
Configs that have a "yes" mark in the "MANUAL UPGRADE REQUIRED" column require manual config upgrade or
resetting to kubeadm defaults before a successful upgrade can be performed. The version to manually
upgrade to is denoted in the "PREFERRED VERSION" column.
API GROUP CURRENT VERSION PREFERRED VERSION MANUAL UPGRADE REQUIRED
kubeproxy.config.k8s.io v1alpha1 v1alpha1 no
kubelet.config.k8s.io v1beta1 v1beta1 no
_____________________________________________________________________