背景:升級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