天下java本站尽知

超级管理员

35605

帖子

9

回复

54

积分

楼主
发表于 2020-01-07 00:00:01 | 查看: 93 | 回复: 0

背景:升级Kubernetes版本从1.14.1-->1.17.0,官方说明不能跨版本升级,所以只好一个版本一个版本升级。最终升到1.17.0后发现API的格式有改动,之前的中间件版本很多不支持。所以回滚到1.15.7。

官方升级说明:https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

接下来我们直接说下回滚的过程:

ps:建议回滚之前先对master做快照!!

1、为了保持服务可用,我们需要先drain节点,但这个过程会出现抖动。

master 上执行

kubectl drain $NODE --ignore-daemonsets --delete-local-data --force kubectl delete node

 2、kubectl reset

  3、yum history 查看更新历史

  4、yum history info 19  查看更新的详情

 5、yum history undo 19 回滚

 这里需要注意的是kubeadm和kubectl是分开upgrade的所以两个都需要回滚。

6、回滚完之后我们再将node加入cluster。

1)master 上生成加入指令

kubeadm token create --print-join-command
2)node 执行join

您需要登录后才可以回帖 登录 | 立即注册