騰訊雲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節點版本已升級為最新