在CentOS上更新和升级Kubernetes(k8s)集群的流程通常涉及以下步骤:
升级Master节点:
更改repo仓库:
cat << EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/repodata/repomd.xml.key
EOF
确定要升级的版本:
kubectl get nodes
验证升级计划:
kubeadm upgrade plan
升级Master节点:
kubeadm upgrade apply v1.28.2
手动升级CNI驱动插件:
yum install -y kubeadm-1.28.2 kubelet-1.28.2-0
systemctl daemon-reload
systemctl restart kubelet
升级Worker节点:
标记节点为不可调度并驱逐所有负载:
kubectl cordon k8s-node01
kubectl drain k8s-node01 --ignore-daemonsets --force
升级Worker节点:
kubeadm upgrade node v1.28.2
yum install -y kubeadm-1.28.2 kubelet-1.28.2-0
systemctl daemon-reload
systemctl restart kubelet
将节点标记为可调度:
kubectl uncordon k8s-node01
验证升级:
kubectl get nodes
kubectl get pods --all-namespaces
版本兼容性:升级时不能跳过次版本,例如从1.y升级到1.y+1,而不能从1.y升级到1.y+2。
自定义资源(CRD):新版本中可能需要对自定义资源进行格式调整。
运行时兼容性:注意运行时的兼容性调整。
以上步骤提供了一个大致的升级流程,确保在升级前详细阅读并遵循Kubernetes官方文档中指定的步骤。