yum仓库替换版本号,集群所有节点
sed -i 's/v1.32/v1.33/g' /etc/yum.repos.d/kubernetes.repo
更新 kubeadm
yum install -y kubeadm-'1.33.4-*' --disableexcludes=kubernetes
检查升级计划
kubeadm upgrade plan
执行升级命令
kubeadm upgrade apply v1.33.4
[root@k8s-master ~]# kubeadm upgrade apply v1.33.4 [upgrade] Reading configuration from the "kubeadm-config" ConfigMap in namespace "kube-system"... [upgrade] Use 'kubeadm init phase upload-config --config your-config-file' to re-upload it. [upgrade/preflight] Running preflight checks [WARNING SystemVerification]: cgroups v1 support is in maintenance mode, please migrate to cgroups v2 [upgrade] Running cluster health checks [upgrade/preflight] You have chosen to upgrade the cluster version to "v1.33.4" [upgrade/versions] Cluster version: v1.32.6 [upgrade/versions] kubeadm version: v1.33.4 [upgrade] Are you sure you want to proceed? [y/N]: y 。。。 [addons] Applied essential addon: CoreDNS [addons] Applied essential addon: kube-proxy [upgrade] SUCCESS! A control plane node of your cluster was upgraded to "v1.33.4". [upgrade] Now please proceed with upgrading the rest of the nodes by following the right order.
yum install -y kubelet-'1.33.4-*' kubectl-'1.33.4-*' --disableexcludes=kubernetes
systemctl daemon-reload && systemctl restart kubelet
yum install -y kubelet-'1.33.4-*' kubectl-'1.33.4-*' --disableexcludes=kubernetes
[root@k8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 65d v1.33.4 k8s-worker-1 Ready worker 65d v1.32.6 k8s-worker-2 Ready worker 65d v1.32.6
kubeadm upgrade node
[root@k8s-worker-1 ~]# kubeadm upgrade node [upgrade] Reading configuration from the "kubeadm-config" ConfigMap in namespace "kube-system"... [upgrade] Use 'kubeadm init phase upload-config --config your-config-file' to re-upload it. [upgrade/preflight] Running pre-flight checks [WARNING SystemVerification]: cgroups v1 support is in maintenance mode, please migrate to cgroups v2 [upgrade/preflight] Skipping prepull. Not a control plane node. [upgrade/control-plane] Skipping phase. Not a control plane node. [upgrade/kubeconfig] Skipping phase. Not a control plane node. W0829 12:35:18.060987 102454 postupgrade.go:117] Using temporary directory /etc/kubernetes/tmp/kubeadm-kubelet-config3221878225 for kubelet config. To override it set the environment variable KUBEADM_UPGRADE_DRYRUN_DIR [upgrade] Backing up kubelet config file to /etc/kubernetes/tmp/kubeadm-kubelet-config3221878225/config.yaml [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" [upgrade/kubelet-config] The kubelet configuration for this node was successfully upgraded! [upgrade/addon] Skipping the addon/coredns phase. Not a control plane node. [upgrade/addon] Skipping the addon/kube-proxy phase. Not a control plane node.
shellsystemctl daemon-reload && systemctl restart kubelet
bash[root@k8s-master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane 65d v1.33.4
k8s-worker-1 Ready worker 65d v1.33.4
k8s-worker-2 Ready worker 65d v1.33.4