騰訊雲TKE「無損業務」升級TKE節點的方法
- 2019 年 12 月 10 日
- 筆記
騰訊雲TKE「無損業務」升級TKE節點的方法
原理
1. 設置TKE節點為不可調度,記TKE節點名為a;
2. 驅逐節點下的非DaemonSet類型的pod。部分pod驅逐失敗時,手工結束不能正常結束的pod;
3. 移除TKE節點a;
4. 重新將TKE節點a所在CVM加入TKE集群,TKE節點a的會被升級為TKE集群主節點大版本的最新release版本;
5. 依次將所有TKE節點執行步驟1至4,完成所有TKE節點的版本升級;
核心指令/介面操作
查看節點:
kubectl get nodes

設置節點為不可調度
kubectl cordon <NodeName>

設置節點為可調度
kubectl uncordon <NodeName>

驅逐節點下的非daemonset類型的pod
kubectl drain <NodeName> –force –ignore-daemonsets –delete-local-data
「–delete-local-data」,對於有本地存儲的pod,直接刪除文件。如果本地存儲的文件不能丟失,需要做其它處理。

查看所有命名空間
kubectl get ns
查看命名空間下的pod
kubectl get pod -o wide -n <Namespace>
強制刪除不能正常結束的pod
kubectl delete pod <PodName> -n <Namespace> –force –grace-period=0
升級實例
升級前TKE節點版本


設置節點不為不可調度


驅逐節點下的非DaemonSet類型的pod

部分pod驅逐失敗時,手工結束不能正常結束的pod

部分pod驅逐失敗時,重新部署不能正常驅逐的pod


移除TKE節點



重新將TKE節點a所在CVM加入TKE集群


節點成功加入口,確認TKE節點版本已升級為最新

