排解叢集建立或更新問題

本頁面說明如何解決安裝或升級 Azure 上的 GKE 時遇到的問題。

如需其他協助,請與 Cloud Customer Care 團隊聯絡。

無法建立叢集

當您要求建立叢集時,Azure 上的 GKE 會先執行一組預檢測試,驗證要求。如果叢集建立失敗,可能是因為其中一項前置測試失敗,或是叢集建立程序中的某個步驟未完成。

如果飛行前測試失敗,叢集不會建立任何資源,並直接向您回報錯誤資訊。舉例來說,如果您嘗試建立名為 invalid%%%name 的叢集,有效叢集名稱的預檢測試就會失敗,且要求會傳回下列錯誤:

ERROR: (gcloud.container.azure.clusters.create) INVALID_ARGUMENT: must be
between 1-63 characters, valid characters are /[a-z][0-9]-/, should start with a
letter, and end with a letter or a number: "invalid%%%name",
field: azure_cluster_id

即使通過預檢測試,叢集建立作業仍可能失敗。叢集開始建立後,GKE on Azure 會在 Google Cloud 和 Azure 中建立資源,這時可能會發生這種情況。在這種情況下,Azure 資源會存在於您的 Google Cloud 專案中,且狀態設為 ERROR

如要取得失敗的詳細資料,請執行下列指令:

gcloud container azure clusters describe CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --format "value(state, errors)"

更改下列內容:

  • CLUSTER_NAME:您要查詢狀態的叢集名稱
  • GOOGLE_CLOUD_LOCATION,並將 Google Cloud 替換為管理這個 Azure 叢集的區域名稱

或者,您也可以描述與建立叢集 API 呼叫相關聯的Operation資源,取得建立失敗的詳細資料。

gcloud container azure operations describe OPERATION_ID

OPERATION_ID 替換為建立叢集的作業 ID。如果沒有叢集建立要求的作業 ID,可以執行下列指令來擷取:

gcloud container azure operations list \
    --location GOOGLE_CLOUD_LOCATION

使用時間戳記或相關資訊,找出您感興趣的叢集建立作業。

叢集更新失敗

更新叢集時,就像建立新叢集一樣,Azure 上的 GKE 會先執行一組預檢測試,驗證要求。如果叢集更新失敗,可能是因為其中一項飛行前測試失敗,或是叢集更新程序中的某個步驟未完成。

如果飛行前測試失敗,叢集不會更新任何資源,並直接向您回報錯誤資訊。舉例來說,如果您嘗試更新叢集,改用名稱為 test_ec2_keypair 的 SSH 金鑰配對,預先測試會嘗試擷取 EC2 金鑰配對,但會失敗,且要求會傳回下列錯誤:

ERROR: (gcloud.container.azure.clusters.update) INVALID_ARGUMENT: key pair
"test_ec2_keypair" not found,
field: azure_cluster.control_plane.ssh_config.ec2_key_pair

預檢測試通過後,叢集更新作業也可能失敗。叢集更新開始後幾分鐘, Google Cloud 專案中的 Azure 資源狀態可能會設為 DEGRADED

如要取得失敗事件和相關作業的詳細資料,請按照「叢集建立失敗」一文所述的步驟操作。

後續步驟