事前準備
開始之前,請確認您已完成下列工作:
- 啟用 Google Kubernetes Engine API。 啟用 Google Kubernetes Engine API
- 如要使用 Google Cloud CLI 執行這項工作,請安裝並初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行
gcloud components update指令,取得最新版本。較舊的 gcloud CLI 版本可能不支援執行本文件中的指令。
- 請確認您具備建立叢集的適當權限。您至少應具備 Kubernetes Engine 叢集管理員角色。
- 如要將新叢集註冊至機群,請確認您具備必要的 API 和權限。
為 GKE 設定 IAM 服務帳戶
GKE 會使用附加至節點的 IAM 服務帳戶,執行記錄和監控等系統工作。這些節點服務帳戶至少必須具備專案的「Kubernetes Engine 預設節點服務帳戶」(roles/container.defaultNodeServiceAccount) 角色。根據預設,GKE 會使用專案中自動建立的 Compute Engine 預設服務帳戶做為節點服務帳戶。
如要將 roles/container.defaultNodeServiceAccount 角色授予 Compute Engine 預設服務帳戶,請完成下列步驟:
主控台
- 前往「歡迎」頁面:
- 在「專案編號」欄位中,按一下「複製到剪貼簿」。
- 前往「IAM」(身分與存取權管理) 頁面:
- 按一下「授予存取權」。
- 在「New principals」(新增主體) 欄位中,指定下列值:
將PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.comPROJECT_NUMBER替換為您複製的專案編號。 - 在「Select a role」(選取角色) 選單中,選取「Kubernetes Engine Default Node Service Account」(Kubernetes Engine 預設節點服務帳戶) 角色。
- 按一下 [儲存]。
gcloud
- 找出 Cloud de Confiance 專案編號:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
將
PROJECT_ID替換為您的專案 ID。輸出結果會與下列內容相似:
12345678901
- 將
roles/container.defaultNodeServiceAccount角色指派給 Compute Engine 預設服務帳戶:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
將
PROJECT_NUMBER替換為上一步的專案編號。
建立 Autopilot 叢集
建立新的 Autopilot 叢集時,您至少需要指定名稱、專案 (通常是目前的專案) 和區域 (通常是指令列工具的預設區域)。不過,還有許多其他可能的設定,其中有些設定在叢集建立後就無法變更。請務必瞭解叢集建立後無法變更的設定,並在建立叢集時選擇正確的設定,以免需要重新建立叢集。
如要查看叢集設定選項的總覽,請參閱「關於叢集設定選項」一文;如要查看所有可能的選項,請參閱 gcloud container clusters create-auto 和 Terraform google_container_cluster 參考指南。
您可以使用 Google Cloud CLI、 Cloud de Confiance 控制台或 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.s3ns.iam.gserviceaccount.com將 SERVICE_ACCOUNT_NAME 替換為最低權限服務帳戶的名稱。
如需可指定的其他選項清單,請參閱 gcloud container clusters create-auto 參考說明文件。
控制台
執行下列工作:
在 Cloud de Confiance 控制台中,前往「建立 Autopilot 叢集」頁面。
在「Cluster basics」(叢集基本資訊) 區段中,完成下列操作:
輸入叢集的「名稱」。
選取叢集的區域。
- 選用:如要將新叢集註冊至機群,請前往「機群註冊」部分,然後按照 Cloud de Confiance 控制台的「建立及註冊新叢集」操作說明,完成叢集註冊。
如需「網路」部分的操作說明,請參閱「自訂網路隔離」。
- (選用) 為節點指定自訂 IAM 服務帳戶:
- 在「進階設定」頁面中,展開「安全性」部分。
- 在「服務帳戶」選單中,選取偏好的服務帳戶。
強烈建議您指定權限最小的 IAM 服務帳戶,供節點使用,不要使用 Compute Engine 預設服務帳戶。如要瞭解如何建立僅具備必要權限的服務帳戶,請參閱「使用最低權限的服務帳戶」。
您也可以視需要設定其他選項,例如維護時段和進階安全性功能。
點選「建立」。
Terraform
如要使用 Terraform 建立 Autopilot 叢集,請參閱下列範例:
如要建立使用自訂 IAM 服務帳戶的 Autopilot 叢集,請按照下列步驟操作:
建立 IAM 服務帳戶,並授予專案的
roles/container.defaultNodeServiceAccount角色:建立使用新服務帳戶的 Autopilot 叢集:
如要進一步瞭解如何使用 Terraform,請參閱「GKE 的 Terraform 支援」。
建立具有特定發布管道和版本的 Autopilot 叢集
根據預設,GKE 會在一般發布管道中註冊新的 Autopilot 叢集,並使用管道中的預設 GKE 版本。使用 gcloud CLI、 Cloud de Confiance 控制台或 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 叢集時設定發布管道,請按照下列步驟操作:
在 Cloud de Confiance 控制台中,前往「建立 Autopilot 叢集」頁面。
在「Cluster basics」(叢集基本資訊) 區段中,完成下列操作:
- 指定「Name」(名稱)。
- 選擇一個 [Region] (地區)。
在「進階設定」部分中,選擇「發布版本」。
視需要設定新叢集的其他設定。
點選「建立」。
Terraform
如要使用 Terraform 建立 Autopilot 叢集時設定發布管道和叢集版本,請參閱下列範例:
如要進一步瞭解如何使用 Terraform,請參閱「GKE 的 Terraform 支援」。
您也可以變更現有叢集的發布管道和 GKE 版本。如需操作說明,請參閱「手動升級控制層」和「選取新的發布版本」。
連線至叢集
gcloud
gcloud container clusters get-credentials CLUSTER_NAME \
--location=LOCATION \
--project=PROJECT_ID
這個指令會設定 kubectl 來使用您建立的叢集。
控制台
在叢集清單中,按一下要連線的叢集旁的 more_vert「動作」,然後按一下「連線」。
系統顯示提示時,按一下「Run in Cloud Shell」(在 Cloud Shell 中執行)。產生的指令會複製到 Cloud Shell,例如:
gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test按下 Enter 鍵執行指令。
驗證叢集模式
您可以使用 gcloud CLI 或 Cloud de Confiance 控制台,確認叢集是否為 Autopilot 叢集。
gcloud
如要確認叢集是在 Autopilot 模式中建立,請執行下列指令:
gcloud container clusters describe CLUSTER_NAME \
--location=LOCATION
輸出內容包含下列項目:
autopilot:
enabled: true
控制台
如要確認叢集是在 Autopilot 模式中建立,請執行下列步驟:
前往 Cloud de Confiance 控制台的「Google Kubernetes Engine」頁面。
在叢集清單中找到叢集。「模式」下方應會顯示「Autopilot」。