背景:升级Kubernetes版本从1.14.1-->1.17.0,官方说明不能跨版本升级,因此只好一个版本一个版本升级。最终升到1.17.0后发现API的格式有改动,以前的中间件版本不少不支持。因此回滚到1.15.7。node
官方升级说明:https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/bash
接下来咱们直接说下回滚的过程:spa
ps:建议回滚以前先对master作快照!!中间件
一、为了保持服务可用,咱们须要先drain节点,但这个过程会出现抖动。blog
master 上执行token
kubectl drain $NODE --ignore-daemonsets --delete-local-data --force kubectl delete node
二、kubectl resetget
三、yum history 查看更新历史kubernetes
四、yum history info 19 查看更新的详情it
五、yum history undo 19 回滚io
这里须要注意的是kubeadm和kubectl是分开upgrade的因此两个都须要回滚。
六、回滚完以后咱们再将node加入cluster。
1)master 上生成加入指令
kubeadm token create --print-join-command