排解叢集建立或更新問題
本頁面說明如何解決安裝或升級 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
。
如要取得失敗事件和相關作業的詳細資料,請按照「叢集建立失敗」一文所述的步驟操作。
後續步驟
- 如需其他協助,請與 Cloud Customer Care 團隊聯絡。