全部產品
Search
文件中心

Container Compute Service:使用須知及高危風險操作說明

更新時間:Dec 11, 2024

阿里雲容器計算服務(簡稱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,即service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: ${YOUR_LB_ID}

導致SLB異常。

在Service中添加複用已有SLB的Annotation。

說明

複用已有SLB的Service無法直接修改為使用自動建立SLB的Service。您需要重新建立Service。

通過負載平衡控制台刪除ACS建立的SLB。

可能導致叢集網路異常。

通過刪除Service的方式刪除SLB。刪除Service請參見刪除Service

在安裝Nginx Ingress Controller組件的情況下手動刪除 kube-system命名空間下的nginx-ingress-lb Service。

Ingress Controller工作不正常,嚴重時產生崩潰。

使用以下YAML建立一個同名Service。

apiVersion: v1
kind: Service
metadata:
  annotations:
  labels:
    app: nginx-ingress-lb
  name: nginx-ingress-lb
  namespace: kube-system
spec:
  externalTrafficPolicy: Local
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: ingress-nginx
  type: LoadBalancer

儲存相關高危操作

高危操作

影響

恢複方案

控制台手動解掛雲端硬碟。

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,期間日誌採集能力全部丟失。