升級前須知
更新時間 2024-01-05 16:04:15
最近更新時間: 2024-01-05 16:04:15
分享文章
本文主要介紹集群升級前須知
升級前,您可以在CCE控制臺確認您的集群是否可以進行升級操作。確認方法請參見集群升級概述。
注意事項
- 集群升級操作不可回退,請務必慎重并選擇合適的時間段進行升級,以減少升級對您的業務帶來的影響。
- 集群升級前請參考集群大版本發布說明了解每個集群版本發布的特性以及差異,否則可能因為應用不兼容新集群版本而導致升級后異常。
- 集群升級中 請勿關機、重啟或刪除節點 ,否則會導致升級失敗。
- 集群升級前 請關閉彈性擴縮容策略 ,避免在升級過程中擴縮容節點,從而導致升級失敗。
- 如果您本地修改了集群節點的配置,可能導致集群升級失敗或升級后配置丟失,建議您通過集群的配置管理和節點池的配置管理修改配置,以便在升級時自動繼承。
- 集群升級過程中,已運行工作負載業務不會中斷,但API Server訪問會短暫中斷,如果業務需要訪問API Server可能會受到影響。
- 請在升級集群前,請查看集群狀態是否均為健康狀態。若集群不正常,您可以自行修復,若仍有問題請提交工單聯系我們協助您進行修復。
- 為了您的數據安全,強烈建議您先備份數據然后再升級,升級過程中不建議對集群進行任何操作。
- 集群升級過程中,將會給節點打上“node.kubernetes.io/upgrade”(效果為“NoSchedule”)的污點,并在集群升級完成后移除該污點。請您不要在節點上手動添加相同鍵名的污點,即使污點效果不同,也可能會在升級后被系統誤刪除。
約束與限制
- 當前僅支持虛擬機節點的CCE集群升級,暫不支持鯤鵬集群、CCE Turbo集群、使用私有鏡像的CCE集群升級。
- 集群升級后,如版本特性中修復了容器引擎Containerd相關漏洞,存量節點需要手動重啟Containerd才可以生效,對于存量Pod同樣需要通過重啟Pod才能生效。
- 1.15版本集群原地升級,如果業務中存在initContainer或使用Istio的場景,則需要注意以下約束:
1.16及以上的kubelet統計和之前版本存在差異,1.15及以下版本僅統計spec.containers下的容器,1.16及以上的kubelet版本會同時統計spec.containers和spec.initContainers下的容器,升級前后會造成Pod的QosClass變化,從而造成Pod中容器重啟。建議參考下表在升級前修改業務容器的QosClass規避該問題。
升級前后QosClass變化
| init容器(根據spec.initContainers計算) | 業務容器(根據spec.containers計算) | Pod(根據spec.containers和spec.initContainers計算) | 是否受影響 |
|---|---|---|---|
| Guaranteed | Besteffort | Burstable | 是 |
| Guaranteed | Burstable | Burstable | 否 |
| Guaranteed | Guaranteed | Guaranteed | 否 |
| Besteffort | Besteffort | Besteffort | 否 |
| Besteffort | Burstable | Burstable | 否 |
| Besteffort | Guaranteed | Burstable | 是 |
| Burstable | Besteffort | Burstable | 是 |
| Burstable | Burstable | Burstable | 否 |
| Burstable | Guaranteed | Burstable | 是 |
升級備份說明
目前集群升級備份方式有兩種:
- 集群ETCD數據庫備份 :CCE服務會在集群升級流程中對etcd數據庫進行備份,無需用戶確認。
- Master節點整機備份 :在升級界面對集群的Master節點進行整機備份, 需要用戶手動確認 ,備份過程會使用云備份服務,備份通常耗時在20分鐘左右,若當前局點云備份任務排隊較多時,備份時間可能同步延長,推薦用戶使用進行整機備份。