yevvzi 2020-01-06
背景:升级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