GKE 節點服務帳戶洞察

本頁面說明 Google Kubernetes Engine (GKE) 節點服務帳戶洞察的網路分析器洞察。如要瞭解所有洞察類型,請參閱「洞察群組和類型」。

如要在 gcloud CLI 或 Recommender API 中查看這些洞察,請使用下列洞察類型:

  • google.networkanalyzer.container.serviceAccountInsight

您需要下列權限:

  • recommender.networkAnalyzerGkeServiceAccountInsights.list
  • recommender.networkAnalyzerGkeServiceAccountInsights.get

如要進一步瞭解如何使用 Recommender API 取得網路分析器洞察,請參閱「使用 Recommender CLI 和 API」。

GKE 節點服務帳戶已停用

這項洞察指出,叢集中的一或多個集區使用已停用的 GKE 節點服務帳戶,這可能會導致服務帳戶停用時建立的叢集中,任何節點的啟動和註冊作業失敗。

這項洞察資料包含下列資訊:

  • 服務帳戶:一種特殊的帳戶,使用者通常並非真人,而是應用程式或運算工作負載,例如 Compute Engine 執行個體。每個服務帳戶都有專屬的電子郵件地址,以利識別。這項資訊可在 Recommender API 中取得。
  • GKE 叢集:GKE 叢集的名稱
  • 節點集區:使用已停用服務帳戶的節點集區清單

詳情請參閱「啟用 Compute Engine 預設服務帳戶」和「停用服務帳戶」。

建議

啟用節點服務帳戶。如果受影響的節點集區中有未註冊的節點,這些節點會重新啟動,並正確註冊至叢集。所有節點可能需要一段時間才會重新啟動。如要快速解決問題,建議您將節點集區調整為零個節點,然後再調回 X 個節點,或是建立使用相同節點服務帳戶的新節點集區。

GKE 節點集區會使用 Compute Engine 預設服務帳戶

GKE 叢集中的節點集區會使用 Compute Engine 預設服務帳戶做為節點服務帳戶。這個帳戶具備的權限多過於 Google Kubernetes Engine 叢集執行時所需。

這項洞察資料包含下列資訊:

  • GKE 叢集:GKE 叢集的名稱
  • 節點集區:使用預設服務帳戶的節點集區清單

詳情請參閱「使用最小權限的服務帳戶」。

建議

為節點建立並使用權限較少的服務帳戶,而非 Compute Engine 預設服務帳戶。

GKE 節點集區的存取權範圍設定錯誤

GKE 叢集中的節點集區已手動指定存取權範圍,但指定的範圍不足以註冊節點。

如果工作負載使用應用程式預設憑證 (ADC)存取權範圍是舊版方法,可為節點和在節點上執行的工作負載授予權限。對於 GKE 節點,請務必使用至少預設的範圍,否則節點將無法註冊。

這項洞察資料包含下列資訊:

  • GKE 叢集:GKE 叢集的名稱
  • 節點集區:存取權範圍設定錯誤的節點集區清單

詳情請參閱「GKE 中的存取權範圍」。

建議

將節點集區換成具有足夠存取權範圍的節點集區。如要建立具有足夠存取權範圍的節點集區,請執行下列其中一項操作:

  • 建立新的節點集區,但不指定存取權範圍。在 Google Cloud CLI 中呼叫 gcloud container node-pools create 時,請勿加入 --scopes 旗標。

    如要授權在節點上執行的工作負載,請使用 Identity and Access Management (IAM) 權限或 Kubernetes 角色式存取控管 (RBAC)。這是為了授予特定 IAM 服務帳戶或 Kubernetes 服務帳戶的存取權。詳情請參閱「設定工作負載的自訂服務帳戶」。

  • 在手動指定存取權範圍的新節點集區清單中,新增下列範圍。

    • https://www.googleapis.com/auth/devstorage.read_only
    • https://www.googleapis.com/auth/service.management.readonly
    • https://www.googleapis.com/auth/servicecontrol
    • https://www.googleapis.com/auth/trace.append
    • https://www.googleapis.com/auth/logging.write
    • https://www.googleapis.com/auth/monitoring.write