全部產品
Search
文件中心

Container Service for Kubernetes:艦隊管理FAQ

更新時間:Jun 26, 2024

本文介紹艦隊管理的常見問題。

艦隊管理是否支援多個Fleet執行個體?

支援多個Fleet執行個體。ACK One預設情況下提供一個Fleet執行個體的配額Quota。艦隊管理的Fleet執行個體通過Quota進行管理控制,如需更多Fleet執行個體配額,您可以前往阿里雲配額中心進行申請。

Fleet執行個體管理關聯集群對叢集間的連通性有什麼要求?

  1. Fleet執行個體所在VPC可以訪問關聯集群的API Server端點。

  2. 關聯集群所在VPC可以訪問Fleet執行個體的API Server端點。

  3. 如果Fleet執行個體與關聯集群屬於不同的VPC,需要使用雲企業網CEN(Cloud Enterprise Network)將兩個VPC網路打通,保證API Server端點可以互相訪問;或者開啟Fleet執行個體和關聯集群的公網端點,使用公網互相串連。

是否可以使用Kubectl CLI對Fleet執行個體進行操作?

可以使用Kubectl CLI下發資源進行操作。Fleet執行個體完全相容Kubernetes API Server,支援原生Kubernetes資源的下發。您也可以使用Helm打包應用並使用Helm CLI下發應用到Fleet執行個體。ACK One提供AMC Kubectl Plugin,方便多叢集情境下的應用與作業管理。更多資訊,請參見AMC命令列協助

添加關聯集群操作失敗,報錯詳情:secrets"sec-c58faedb8a7864d3****-public"not find

問題現象

當您在添加關聯集群時,控制台出現錯誤提示secrets"sec-c58faedb8a7864d3****-public"not find

問題原因

Fleet執行個體和關聯集群網路不通,需要檢查待添加的關聯集群和Fleet執行個體之間的網路聯通性。

解決方案

如果Fleet執行個體與關聯集群屬於不同的VPC,需要使用雲企業網CEN(Cloud Enterprise Network)將兩個VPC網路打通,保證API Server端點可以互相訪問;或者開啟Fleet執行個體和關聯集群的公網端點,使用公網互相串連。關於CEN更多資訊,請參見雲企業網

移除關聯集群失敗,“namespace terminating”問題的處理方法

在移除關聯集群時,由於關聯集群中的某些API Services不可用,會導致關聯集群上艦隊命名空間ack-multiple-clusters、ack-cluster-gateway Terminating無法被徹底刪除,從而影響叢集被再次添加關聯。解決方案如下:

  1. 執行如下命令擷取對應Namespace的JSON檔案。

    請將命令中<YOUR_NAMESPACE>替換為實際的Namespace名稱。

    kubectl get namespace <YOUR_NAMESPACE> -o json > <YOUR_NAMESPACE>.json
  2. 刪除JSON檔案中spec下的finalizers數組。

  3. 執行以下命令刪除Terminating狀態的Namespace。

    請將命令中<YOUR_NAMESPACE>替換為實際的Namespace名稱。

    kubectl replace --raw "/api/v1/namespaces/<YOUR_NAMESPACE>/finalize" -f ./<YOUR_NAMESPACE>.json
  4. 執行kubectl get ns命令確認Terminating狀態的Namespace已經被刪除。

如何將未正常移除關聯的子叢集關聯到艦隊?

如果您不小心刪除了艦隊,或清理了艦隊APIServer的SLB後導致艦隊無法正常使用,此時您可能需要將您未正常移除關聯的子叢集添加到建立的艦隊,關聯時會出現報錯,請按照以下步驟操作以確保關聯成功。

  1. 登入ACK One控制台,在左側導覽列選擇艦隊 > 關聯集群

  2. 關聯集群頁面,單擊艦隊名稱右側的展開按鈕,選中需要切換的新艦隊,單擊添加關聯集群

  3. 在彈出的添加關聯集群面板中,選中需要關聯的叢集,然後單擊確定

  4. 關聯集群頁面,選中需要關聯的叢集,並單擊移除關聯

  5. 再次單擊添加關聯集群,選中需要關聯的叢集,然後單擊確定