全部產品
Search
文件中心

Container Compute Service:Cloud Controller Manager(CCM)組件升級檢查失敗

更新時間:Dec 11, 2024

本文介紹在Container Compute Service (ACS)叢集使用過程中,遇到Cloud Controller Manager(CCM)組件升級檢查失敗的解決方案。

解決方案

注意事項

  • 在升級CCM組件時,建議您先瞭解CCM新功能,詳情請參見Cloud Controller Manager

  • 需要注意,如果在升級檢查期間執行了Service變更操作,可能會導致升級檢測結果存在誤判,請重新發起升級檢測即可。如果多次檢測後仍未通過,請提交工單處理。

CCM升級檢查失敗的錯誤提示及解決方案

錯誤提示

錯誤原因

解決方案

create a new load balancer

在進行升級期間的建立Service或者同步已有Service時,建立了SLB執行個體。

請通過控制台或者執行以下命令,確認Service是否處於pending狀態。如果狀態為Running,且已經產生外部IP,請重新發起檢測;如果處於pending狀態,請提交工單處理。

kubectl get svc [$Svc_Name] -n [$Namespace]
說明
  • [$Svc_Name]為Service名稱。

  • [$Namespace]為該Service的命名空間。

modify the slb instance spec

SLB的規格和Service中配置的規格不一致。

將Service的annotation下的service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec參數設定為SLB對應的規格,該參數的配置請參見指定負載平衡規格

delete the load balancer

不存在Service,但對應的SLB執行個體仍然存在。

如已不需要該SLB執行個體,請通過SLB控制台手動刪除該SLB執行個體。如果還需要該SLB執行個體,請提交工單處理。

modify the slb internet spec

SLB的頻寬或者支付類別與Service中配置的不一致。

  • 若是頻寬問題,需要將Service的annotation下的service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth設定為SLB中對應配置,該參數的配置請參見建立按頻寬付費的負載平衡

  • 若是支付類別問題,需要將Service的annotation下的service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type設定為SLB中對應配置,該參數的配置請參見建立按頻寬付費的負載平衡

remove backend servers

Endpoint與SLB後端伺服器配置不一致。

  • 若您未在SLB控制台修改過後端伺服器配置:

    請勿在升級檢測期間執行Service的Endpoint變更操作,然後重新發起檢測。

  • 若您手動在SLB控制台修改過後端伺服器配置:

    請先恢複SLB後端伺服器組配置,然後重新發起檢測。

add backend servers

stop listener

Service的port與SLB監聽配置不一致。

  • 若您未在SLB控制台修改過監聽配置:

    請勿在升級檢測期間執行Service變更操作,然後重新發起檢測。

  • 若您手動在SLB控制台修改過監聽配置:

    請執行以下命令,查看具體不一致的配置,然後在SLB控制台恢複SLB監聽配置,再重新發起檢測。

    kubectl -n [$Namespace] describe svc [$Svc_Name]

start listener

delete listener

Service的port與SLB監聽配置不一致。

  • 若您未在SLB控制台修改過監聽配置:

    請勿在升級檢測期間執行Service變更操作,然後重新發起檢測。

  • 若您手動在SLB控制台修改過監聽配置:

    請先刪除添加的監聽,然後重新發起檢測。

create listener

Service的port與SLB監聽配置不一致。

  • 若您未在SLB控制台修改過監聽配置:

    請勿在升級檢測期間執行Service變更操作,然後重新發起檢測。

  • 若您手動在SLB控制台修改過監聽配置:

    請先添加被刪除的監聽,然後重新發起檢測。

update listener

Service的port與SLB監聽配置不一致。

  • 若您未在SLB控制台修改過監聽配置:

    請勿在升級檢測期間執行Service變更操作,然後重新發起檢測。

  • 若您手動在SLB控制台修改過監聽配置:

    請執行以下命令,查看具體不一致的配置,然後在SLB控制台恢複SLB監聽配置,例如認證、存取控制、健全狀態檢查、Cookie設定等,然後重新發起檢測,詳情請參見通過Annotation配置傳統型負載平衡CLB

    kubectl -n [$Namespace] describe svc [$Svc_Name]

create VServerGroup

Endpoint與SLB後端虛擬伺服器組配置不一致。

  • 若您未在SLB控制台修改過虛擬伺服器配置:

    請勿在升級檢測期間執行Service的Endpoint變更操作,然後重新發起檢測。如果多次檢測後仍重複出現“create vServerGroup”提示,請提交工單處理。

  • 若您手動在SLB控制台修改過後端伺服器配置:

    請先恢複SLB虛擬伺服器組配置,然後重新發起檢測。

delete VServerGroup

Endpoint與SLB後端虛擬伺服器組配置不一致。

  • 若您未在SLB控制台修改過虛擬伺服器配置:

    請勿在升級檢測期間執行Service的Endpoint變更操作,然後重新發起檢測。

  • 若您手動在SLB控制台修改過後端伺服器配置:

    請先恢複SLB虛擬伺服器組配置,然後重新發起檢測。

add VServerGroup backends

remove VServerGroup backends

modify loadbalancer instance charge type

Servicec中執行個體計費類型與SLB不一致。

  • 若您在SLB控制台手動修改過CLB付費類型為PayByCLCU:

    需要將Service的annotation中service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec刪除。

  • 若您未在SLB控制台修改過計費類型:

    請勿在升級檢測期間執行Service的變更操作,然後重新發起檢測。