透過Google Cloud 控制台啟用 Cloud Service Mesh 時發生的問題解決方式

本節說明常見的 Cloud Service Mesh 問題,以及如何解決這些問題。如需其他協助,請參閱取得支援

確認您具備足夠的權限

如要在建立 GKE 叢集時啟用 Cloud Service Mesh,您必須具備下列所有角色:

如要瞭解如何授予角色,請參閱「授予或撤銷單一角色」一文。

無法透過 Google Cloud 控制台啟用 Cloud Service Mesh

在叢集中啟用 Cloud Service Mesh 時,啟用作業可能會失敗。如果啟用失敗, Google Cloud 控制台會顯示以下訊息:「Cloud Service Mesh 安裝失敗」。

透過 Google Cloud 控制台啟用 Cloud Service Mesh,即可在叢集中建立 ControlPlaneRevision 自訂資源。在佈建受管理的控制層時,系統會更新這個資源的狀態,如果啟用失敗,則會顯示錯誤訊息。

kubectl describe controlplanerevision -n istio-system

輸出結果會與下列內容類似:

    Name:         asm-managed

    …

    Status:
      Conditions:
        Last Transition Time:  2021-08-05T18:56:32Z
        Message:               The provisioning process has not completed successfully
        Reason:                NotProvisioned
        Status:                False
        Type:                  Reconciled
        Last Transition Time:  2021-08-05T18:56:32Z
        Message:               Provisioning has finished
        Reason:                ProvisioningFinished
        Status:                True
        Type:                  ProvisioningFinished
        Last Transition Time:  2021-08-05T18:56:32Z
        Message:               Unsupported Kubernetes version: v1.14.10
        Reason:                PreconditionFailed
        Status:                True
        Type:                  Stalled

如果 Type: Reconciled Status 欄位為 True,表示控制層已順利執行。如果受管理的控制層佈建程序發生錯誤,Type: Stalled Status 欄位會變成 True。如果是 StalledMessage 欄位會包含特定錯誤的更多資訊。如要進一步瞭解可能發生的錯誤,請參閱「停滯的程式碼」。

系統會每 15 分鐘重試安裝作業,並更新 ControlPlaneRevision 自訂資源,以反映最新狀態。不過,即使安裝作業日後成功, Google Cloud 控制台中顯示的錯誤訊息也不會更新。在叢集中執行上述指令,每 15 分鐘檢查一次目前狀態。

如果在解決錯誤訊息並等待 15 分鐘後,安裝作業仍未成功,您可以使用 asmcli 設定代管型 Cloud Service Mesh,啟用 Cloud Service Mesh。

或者,如果在建立 GKE 叢集時安裝失敗,您可以刪除叢集,然後再試一次。