文章目录



一、注意事项

• 升级前必须备份所有组件及数据,例如etcd
• 千万不要跨小版本进行升级,例如从1.16升级到1.19,Kubernetes默认向前兼容两个版本

二、升级管理节点:

​2.1.查找最新版本号​

yum list --showduplicates kubeadm --disableexcludes=kubernetes

--disableexcludes=kubernetes    #表示只用kubernetes的yum仓库

​2.2.升级kubeadm​

yum install -y kubeadm-1.20.0-0 --disableexcludes=kubernetes
kubeadm升级K8s集群1.19.0到V1.20.0_数据
kubeadm已升级到1.20.0版本
kubeadm升级K8s集群1.19.0到V1.20.0_kubernetes_02

​2.3.驱逐node上的pod,且不可调度​

kubectl drain k8s-master --ignore-daemonsets

​2.4.检查集群是否可以升级,并获取可以升级的版本​

kubeadm upgrade plan
kubeadm升级K8s集群1.19.0到V1.20.0_版本号_03

​2.5.执行升级​

kubeadm upgrade apply v1.20.0
kubeadm升级K8s集群1.19.0到V1.20.0_版本号_04
拉取新的镜像
kubeadm升级K8s集群1.19.0到V1.20.0_kubeadm升级_05
kubeadm升级K8s集群1.19.0到V1.20.0_重启_06

​2.6.取消不可调度​

kubectl uncordon k8s-master

​2.7.升级kubelet和kubectl​

yum install -y kubelet-1.20.0-0 kubectl-1.20.0-0 --disableexcludes=kubernetes

​2.8.重启kubelet​

systemctl daemon-reload
systemctl restart kubelet

升级成功
kubeadm升级K8s集群1.19.0到V1.20.0_数据_07

三、升级工作节点

​3.1.升级kubeadm​

yum install -y kubeadm-1.20.0-0 --disableexcludes=kubernetes

​3.2.驱逐node上的pod,且不可调度​

kubectl drain k8s-node1 --ignore-daemonsets

​3.3.升级kubelet配置​

kubeadm upgrade node

​3.4.升级kubelet和kubectl​

yum install -y kubelet-1.20.0-0 kubectl-1.20.0-0 --disableexcludes=kubernetes

​3.5.重启kubelet​

systemctl daemon-reload
systemctl restart kubelet

​3.6.取消不可调度,节点重新上线​

kubectl uncordon k8s-node1