更新CentOS上的Kubernetes(k8s)部署版本是一个复杂的过程,需要仔细规划和执行。以下是一个基本的步骤指南,帮助你将CentOS上的Kubernetes集群升级到新版本。
备份数据:
/etc/kubernetes/
目录和/var/lib/etcd/
目录。etcdctl
工具备份etcd数据。检查集群状态:
更新软件包:
下载新版本的kubeadm:
wget https://dl.k8s.io/release/v1.29.10/bin/linux/amd64/kubeadm
chmod +x kubeadm
sudo mv kubeadm /usr/local/bin/
验证kubeadm版本:
kubeadm version
命令,确认版本已升级到目标版本。检查升级计划:
kubeadm upgrade plan
命令,检查集群是否可以升级,并获取目标版本信息。执行控制平面升级:
kubeadm upgrade apply v1.29.10
命令,开始升级控制平面组件。sudo kubeadm upgrade apply v1.29.10
腾空Master节点:
kubectl drain k8s-master --ignore-daemonsets
升级kubelet和kubectl:
wget https://dl.k8s.io/release/v1.29.10/bin/linux/amd64/kubelet
wget https://dl.k8s.io/release/v1.29.10/bin/linux/amd64/kubectl
chmod +x kubelet kubectl
sudo mv kubelet /usr/local/bin/
sudo mv kubectl /usr/local/bin/
重启kubelet服务:
sudo systemctl daemon-reload
sudo systemctl restart kubelet
解除节点保护:
kubectl uncordon k8s-master
逐个升级工作节点:
升级kubeadm:
wget https://dl.k8s.io/release/v1.29.10/bin/linux/amd64/kubeadm
chmod +x kubeadm
sudo mv kubeadm /usr/local/bin/
腾空工作节点:
kubectl drain k8s-node1 --ignore-daemonsets
升级kubelet和kubectl:
wget https://dl.k8s.io/release/v1.29.10/bin/linux/amd64/kubelet
wget https://dl.k8s.io/release/v1.29.10/bin/linux/amd64/kubectl
chmod +x kubelet kubectl
sudo mv kubelet /usr/local/bin/
sudo mv kubectl /usr/local/bin/
重启kubelet服务:
sudo systemctl daemon-reload
sudo systemctl restart kubelet
解除节点保护:
kubectl uncordon k8s-node1