k8s版本升级
k8s升级
·
升级k8s,小版本升级,跨太大版本升级可能会有问题:
1. 列出可用版本
yum list --showduplicates kubeadm --disableexcludes=kubernetes
2. 预先下载需要的镜像:
#查看所需版本镜像
kubeadm config images list --kubernetes-version= v1.16.15
#使用脚本拉镜像修改镜像,vi update.sh
参考https://blog.csdn.net/weixin_44946147/article/details/124966220
images=(
kube-apiserver:v1.16.15
kube-controller-manager:v1.16.15
kube-scheduler:v1.16.15
kube-proxy:v1.16.15
pause:3.1
etcd:3.3.15-0
coredns:1.6.2
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done
#拉镜像
./update.sh
3. 升级master:
yum install -y kubeadm-1.16.15-0 --disableexcludes=Kubernetes
yum install -y kubelet-1.16.15-0 kubectl-1.16.15-0 --disableexcludes=Kubernetes
#从集群移除节点
kubectl drain k8s-master --ignore-daemonsets --force
#查看组件版本以及可升级版本,无报错即可升级,有报错需要根据具体的报错调整
kubeadm upgrade plan
#升级版本
kubeadm upgrade apply v1.16.15
#升级完之后节点处于不可调用状态,get node显示SchedulingDisabled,需要取消节点不可调度
kubectl uncordon k8s-master
systemctl daemon-reload
systemctl restart kubelet
4. 升级node
yum install -y kubeadm-1.16.15-0 --disableexcludes=kubernetes
yum install -y kubelet-1.16.15-0 kubectl-1.16.15-0 --disableexcludes=kubernetes
#在master上执行
kubectl drain k8s-node --ignore-daemonsets --force
#在master上执行
kubeadm upgrade node
#在node执行
systemctl daemon-reload
systemctl restart kubelet
#在master节点执行
kubectl uncordon k8s-node
更多推荐
已为社区贡献2条内容
所有评论(0)