阿里云容器計算服務(簡稱ACS)提供容器計算服務相關的技術架構以及核心組件的托管服務,對于非托管組件以及運行在ACS集群中的應用,不當操作可能會導致業務故障。為了更好地預估和避免相關的操作風險,在使用容器計算服務ACS前,請認真閱讀本文中的建議與注意事項。
使用須知
集群升級相關
請務必通過容器計算服務ACS的集群升級功能升級集群的K8s版本,自行升級K8s版本可能導致ACS集群的穩定性和兼容性問題。
阿里云容器計算服務ACS對集群升級提供以下支持:
提供集群K8s新版本的升級功能。
提供K8s新版本升級的前置檢查功能,確保集群當前狀態支持升級。
提供K8s新版本的版本說明文檔,包括相較于前版本的變化。
提示升級到K8s新版本時因資源變化可能會發生的風險。
您在使用集群升級功能時,請遵循以下建議:
在集群升級前運行前置檢查,并根據前置檢查結果逐一修復集群升級的阻塞點。
詳細閱讀K8s新版本的版本說明文檔,并根據ACS所提示的升級風險確認集群和業務的狀態,自行判斷升級風險。
由于集群升級不提供回滾功能,請做好充分的升級計劃和預后備案。
根據容器計算服務ACS的版本支持機制,在當前版本的支持周期內及時升級集群K8s版本。更多信息,請參見Kubernetes版本概覽及機制。
Kubernetes原生配置相關
在YAML模板中請勿使用Kubernetes集群預留的Annotation,否則會造成資源不可用、申請失敗、異常等問題。以
kubernetes.io/
和k8s.io/
開頭的標簽為核心組件預留標簽。違規示例:pv.kubernetes.io/bind-completed: "yes"。
ACS集群相關
在以下場景中不提供賠付:
為簡化集群運維,ACS集群提供部分系統組件托管能力,并在集群的組件開啟托管后,負責其部署和維護。由于您誤刪托管組件依賴的K8s對象資源等其他情況導致業務受損時,ACS不提供賠付。
高危操作
在使用容器計算服務ACS過程中相關功能模塊存在高危操作,可能會對業務穩定性造成較大影響。在使用前請認真了解以下高危操作及其影響。
集群相關高危操作
分類 | 高危操作 | 影響 | 恢復方案 |
API Server | 刪除API Server所使用的SLB。 | 導致集群不可操作。 | 不可恢復,請重新創建集群。 |
其他 | 通過RAM執行權限變更或修改操作。 | 集群部分資源如負載均衡可能無法創建成功。 | 恢復原先權限。 |
網絡與負載均衡相關高危操作
高危操作 | 影響 | 恢復方案 |
修改或者刪除ACS添加的SLB的標簽。 | 導致SLB異常。 | 恢復SLB的標簽。 |
通過負載均衡控制臺修改ACS管理的SLB的配置,包括SLB、監聽及虛擬服務器組。 | 導致SLB異常。 | 恢復SLB的配置。 |
移除Service中復用已有SLB的Annotation,即 | 導致SLB異常。 | 在Service中添加復用已有SLB的Annotation。 說明 復用已有SLB的Service無法直接修改為使用自動創建SLB的Service。您需要重新創建Service。 |
通過負載均衡控制臺刪除ACS創建的SLB。 | 可能導致集群網絡異常。 | 通過刪除Service的方式刪除SLB。刪除Service請參見刪除Service。 |
在安裝Nginx Ingress Controller組件的情況下手動刪除 kube-system命名空間下的 | Ingress Controller工作不正常,嚴重時產生崩潰。 | 使用以下YAML新建一個同名Service。
|
存儲相關高危操作
高危操作 | 影響 | 恢復方案 |
控制臺手動解掛云盤。 | Pod寫入報IO Error。 | 重啟Pod。 |
多個Pod掛載相同云盤。 | Pod寫入本地磁盤或者報錯IO Error。 | 確保一個云盤給一個Pod使用。 重要 云盤為阿里云存儲團隊提供的非共享存儲,只能同時被一個Pod掛載。 |
手動刪除NAS掛載目錄。 | Pod寫入報IO Error。 | 重啟Pod。 |
日志相關高危操作
高危操作 | 影響 | 恢復方案 |
刪除aliyunlogconfig CRD資源。 | 日志采集失效。 | 重新創建刪除的CRD以及對應的資源,但失效期間日志無法恢復。 刪除CRD會關聯刪除對應所有的實例,即使恢復CRD后還需要手動創建被刪除的實例。 |
刪除日志組件。 | 日志采集失效。 | 重新安裝日志組件并手動恢復aliyunlogconfig CRD實例,刪除期間日志無法恢復。 刪除日志組件相當于刪除aliyunlogconfig CRD以及日志采集器Logtail,期間日志采集能力全部丟失。 |