skip to content
Alvin Lucillo

Kubeadm upgrade plan

/ 2 min read

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
_____________________________________________________________________