1.配置kubernetes安装源(已配置kubernetes源,此处跳过)
2.升级(各个节点都要运行)
yum list --showduplicates kubeadm --disableexcludes=kubernetes
yum update kubelet kubeadm kubectl docker-ce -y
验证是不是要升级的版本
kubeadm version
查看需要的镜像
kubeadm config images list
这里通过脚本提前下载好
vim k8s-1.14.1.sh
MY_REGISTRY=registry.cn-hangzhou.aliyuncs.com/openthings
## 拉取镜像
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.14.1
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.14.1
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.14.1
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.14.1
docker pull ${MY_REGISTRY}/k8s-gcr-io-etcd:3.3.10
docker pull ${MY_REGISTRY}/k8s-gcr-io-pause:3.1
docker pull ${MY_REGISTRY}/k8s-gcr-io-coredns:1.3.1
## 添加Tag
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.14.1 k8s.gcr.io/kube-apiserver:v1.14.1
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.14.1 k8s.gcr.io/kube-scheduler:v1.14.1
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.14.1 k8s.gcr.io/kube-controller-manager:v1.14.1
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.14.1 k8s.gcr.io/kube-proxy:v1.14.1
docker tag ${MY_REGISTRY}/k8s-gcr-io-etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag ${MY_REGISTRY}/k8s-gcr-io-pause:3.1 k8s.gcr.io/pause:3.1
docker tag ${MY_REGISTRY}/k8s-gcr-io-coredns:1.3.1 k8s.gcr.io/coredns:1.3.1
如果是重要的业务,可以备份一下相关的配置文件
在master节点
kubeadm upgrade plan
kubeadm upgrade apply v1.14.1
upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.14.1". Enjoy! 出现这个表示升级成功
systemctl daemon-reload
systemctl restart kubelet
然后查看是否升级成功
kubectl get node -o wide
将控制节点设置为不可调度
kubectl drain $NODE --ignore-daemonsets
逐一将除控制节点以外的其他需要升级的节点设置为不可调度
kubectl cordon $NODENAME
kubectl drain $NODENAME
在除控制节点的所有节点上逐一执行如下命令升级(注意执行如下命令前,需要先升级程序包)
kubeadm upgrade node config --kubelet-version v1.14.1
重新启动升级后节点的kubelet服务
systemctl daemon-reload
systemctl restart kubelet
11、恢复节点为可调度(在控制节点上操作)
kubectl uncordon $NODE
参考文档:
https://blog.youkuaiyun.com/oSuiFengZou/article/details/88891659
https://juejin.im/post/5c9ce517e51d452b837c959e
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-14/