建立 Autopilot 叢集


本頁說明如何在Autopilot 模式下建立 Google Kubernetes Engine (GKE) 叢集。 Autopilot 是 GKE 作業模式,可讓您專注於服務和應用程式,同時由 GKE 管理節點和基礎架構。部署工作負載時,GKE 會佈建、設定及管理資源和硬體,包括資源調度。

事前準備

開始之前,請確認你已完成下列工作:

  • 啟用 Google Kubernetes Engine API。
  • 啟用 Google Kubernetes Engine API
  • 如要使用 Google Cloud CLI 執行這項工作,請安裝初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行 gcloud components update,取得最新版本。

為 GKE 設定 IAM 服務帳戶

GKE 會使用附加至節點的 IAM 服務帳戶,執行記錄和監控等系統工作。這些節點服務帳戶至少必須具備專案的「Kubernetes Engine 預設節點服務帳戶」(roles/container.defaultNodeServiceAccount) 角色。根據預設,GKE 會使用專案中自動建立的 Compute Engine 預設服務帳戶做為節點服務帳戶。

如要將 roles/container.defaultNodeServiceAccount 角色授予 Compute Engine 預設服務帳戶,請完成下列步驟:

主控台

  1. 前往「歡迎」頁面:

    前往「歡迎」

  2. 在「專案編號」欄位中,按一下「複製到剪貼簿」
  3. 前往「IAM」(身分與存取權管理)IAM 頁面:

    前往「身分與存取權管理」頁面

  4. 按一下「授予存取權」
  5. 在「New principals」(新增主體) 欄位中,指定下列值:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    PROJECT_NUMBER 替換為您複製的專案編號。
  6. 在「Select a role」(選取角色) 選單中,選取「Kubernetes Engine Default Node Service Account」(Kubernetes Engine 預設節點服務帳戶) 角色。
  7. 按一下 [儲存]

gcloud

  1. 找出 Google Cloud 專案編號:
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    PROJECT_ID 替換為您的專案 ID。

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

    12345678901
    
  2. roles/container.defaultNodeServiceAccount 角色指派給 Compute Engine 預設服務帳戶:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    PROJECT_NUMBER 替換為上一步的專案編號。

建立 Autopilot 叢集

建立新的 Autopilot 叢集時,您至少需要指定名稱、專案 (通常是目前的專案) 和區域 (通常是指令列工具的預設區域)。不過,還有許多可能的設定,其中有些設定在叢集建立後就無法變更。請務必瞭解叢集建立後無法變更的設定,並在建立叢集時選擇正確的設定,以免需要重新建立叢集。

如要查看叢集設定選項總覽,請參閱「關於叢集設定選項」一文;如要查看所有可能選項的完整清單,請參閱 gcloud container clusters create-auto 和 Terraform google_container_cluster 參考指南。

您可以使用 Google Cloud CLI、 Google Cloud 控制台或 Terraform 建立 Autopilot 叢集:

gcloud

執行下列指令:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

更改下列內容:

  • CLUSTER_NAME:新 Autopilot 叢集的名稱。
  • LOCATION:叢集的區域
  • PROJECT_ID:您的專案 ID。

強烈建議您指定權限最小的 IAM 服務帳戶,供節點使用,不要使用 Compute Engine 預設服務帳戶。如要瞭解如何建立僅具備必要權限的服務帳戶,請參閱「使用最低權限的服務帳戶」。

如要在 gcloud CLI 中指定自訂服務帳戶,請在指令中加入下列標記:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

SERVICE_ACCOUNT_NAME 替換為具備最低權限的服務帳戶名稱。

如需可指定的其他選項清單,請參閱 gcloud container clusters create-auto 參考說明文件。

控制台

執行下列工作:

  1. 在 Google Cloud 控制台中,前往「Create an Autopilot cluster」(建立 Autopilot 叢集) 頁面。

    前往「Create an Autopilot cluster」(建立 Autopilot 叢集) 頁面

  2. 在「叢集基本資訊」部分,完成下列操作:

  3. 輸入叢集的「名稱」

  4. 選取叢集的區域

    1. 選用 (適用於 GKE Enterprise):如要將新叢集註冊至機群,請前往「機群註冊」部分,然後按照 Google Cloud 控制台的「建立及註冊新叢集」操作說明,完成叢集註冊程序。
  5. 如需「網路」部分的操作說明,請參閱「自訂網路隔離」。

  6. (選用) 為節點指定自訂 IAM 服務帳戶:
    1. 在「進階設定」頁面中,展開「安全性」部分。
    2. 在「服務帳戶」選單中,選取偏好的服務帳戶。

    強烈建議您指定權限最小的 IAM 服務帳戶,供節點使用,不要使用 Compute Engine 預設服務帳戶。如要瞭解如何建立僅具備必要權限的服務帳戶,請參閱「使用最低權限的服務帳戶」。

  7. 您也可以視需要設定其他選項,例如維護時間和進階安全性功能。

  8. 點選「建立」

Terraform

如要使用 Terraform 建立 Autopilot 叢集,請參閱下列範例:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-basic"
  location = "us-central1"

  enable_autopilot = true
}

如要進一步瞭解如何使用 Terraform,請參閱「GKE 的 Terraform 支援」。

建立具有特定發布管道和版本的 Autopilot 叢集

根據預設,GKE 會在一般發布管道中註冊新的 Autopilot 叢集,並使用管道中的預設 GKE 版本。使用 gcloud CLI、 Google Cloud 控制台或 Terraform 建立 Autopilot 叢集時,可以變更發布管道。

您也可以使用 gcloud CLI 建立叢集時,設定特定 GKE 版本。只有在有特定版本需求時,設定叢集版本才有用。如要設定叢集版本,請在 gcloud container clusters create-auto 指令中指定 --cluster-version 標記。指定的版本必須是可用的 GKE 版本。

您可以選擇是否按照下列指示設定發布版本和版本。除非需要特定 GKE 版本,否則建議保留預設的發布管道設定。

gcloud

執行下列指令:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --release-channel=RELEASE_CHANNEL

RELEASE_CHANNEL 替換為叢集的發布管道名稱。預設值為 Regular

(選用) 指定 --cluster-version=CLUSTER_VERSION,並將 CLUSTER_VERSION 替換為叢集的 GKE 版本,例如 1.29.4-gke.1043002。您指定的版本會生效,直到發布管道中的新版本成為預設版本為止。GKE 接著會自動升級叢集至新的預設版本。如果省略這個標記,GKE 會將版本設為發布管道的預設版本

如要查看可用版本,請參閱「可以使用哪些版本?」一文。您可以執行所選管道中的任何次要版本,或從其他管道選擇部分修補程式版本

主控台

如要在建立 Autopilot 叢集時設定發布管道,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Create an Autopilot cluster」(建立 Autopilot 叢集) 頁面。

    前往「Create an Autopilot cluster」(建立 Autopilot 叢集) 頁面

  2. 在「叢集基本資訊」部分,完成下列操作:

    1. 指定「Name」(名稱)
    2. 選擇一個 [Region] (地區)
  3. 在「進階設定」部分中,選擇「發布版本」

  4. 視需要設定新叢集的其他設定。

  5. 點選「建立」

Terraform

如要使用 Terraform 建立 Autopilot 叢集時設定發布管道和叢集版本,請參閱下列範例:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-release-channel"
  location = "us-central1"

  enable_autopilot = true

  release_channel {
    channel = "REGULAR"
  }
}

如要進一步瞭解如何使用 Terraform,請參閱「GKE 的 Terraform 支援」。

您也可以變更現有叢集的發布管道和 GKE 版本。如需操作說明,請參閱「手動升級控制層」和「選取新的發布版本」。

連線至叢集

gcloud

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

這個指令會設定 kubectl 來使用您建立的叢集。

控制台

  1. 在叢集清單中,按一下要連線的叢集旁的 「動作」,然後按一下「連線」

  2. 系統顯示提示時,按一下「Run in Cloud Shell」(在 Cloud Shell 中執行)。產生的指令會複製到 Cloud Shell,例如:

    gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test
    
  3. 按下 Enter 鍵執行指令。

驗證叢集模式

您可以使用 gcloud CLI 或 Google Cloud 控制台,確認叢集是否為 Autopilot 叢集。

gcloud

如要確認叢集是在 Autopilot 模式中建立,請執行下列指令:

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION

輸出內容包含下列項目:

autopilot:
  enabled: true

控制台

如要確認叢集是在 Autopilot 模式中建立,請執行下列步驟:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在叢集清單中找到叢集。「模式」下方應會顯示「Autopilot」

後續步驟