阿里雲容器計算服務(簡稱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,期間日誌採集能力全部丟失。 |