事前準備
開始之前,請確認您已執行下列工作:
- 啟用 Google Kubernetes Engine API。 啟用 Google Kubernetes Engine API
- 如要使用 Google Cloud CLI 執行這項工作,請安裝並初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行
gcloud components update指令,取得最新版本。較舊的 gcloud CLI 版本可能不支援執行本文件中的指令。
- 如果您使用新建立的 Google Cloud 專案,必須先將帳單帳戶連結至專案,才能啟用 Kubernetes Engine API 或佈建叢集資源。
- 請確認您具備建立叢集的適當權限。您至少應具備 Kubernetes Engine 叢集管理員角色。
- 如要將新叢集註冊至機群,請確認您具備必要的 API 和權限。
設定 GKE 的 IAM 服務帳戶
GKE 會使用附加至節點的 IAM 服務帳戶,執行記錄和監控等系統工作。這些節點服務帳戶至少須具備專案的 Kubernetes Engine 預設節點服務帳戶 (roles/container.defaultNodeServiceAccount) 角色。根據預設,GKE 會使用Compute Engine 預設服務帳戶 (系統會在專案中自動建立) 做為節點服務帳戶。
如要將 roles/container.defaultNodeServiceAccount 角色授予 Compute Engine 預設服務帳戶,請完成下列步驟:
控制台
- 前往「Welcome」(歡迎) 頁面:
- 在「專案編號」欄位中,按一下「複製到剪貼簿」。
- 前往「IAM」頁面:
- 按一下 「授予存取權」。
- 在「New principals」(新增主體) 欄位中,指定下列值:
將PROJECT_NUMBER-compute@developer.gserviceaccount.comPROJECT_NUMBER替換為您複製的專案編號。 - 在「選取角色」選單中,選取「Kubernetes Engine 預設節點服務帳戶」角色。
- 按一下 [儲存]。
gcloud
- 找出 Google Cloud 專案編號:
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.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 參考文件。
控制台
執行下列工作:
前往 Google Cloud 控制台的「Create an Autopilot cluster」(建立 Autopilot 叢集) 頁面。
在「Cluster basics」(叢集基本資訊) 部分,完成下列操作:
輸入叢集的名稱。
為叢集選取區域。
如需「網路」部分的操作說明,請參閱「自訂網路隔離」。
- 如要為節點指定自訂 IAM 服務帳戶,請執行下列步驟:
- 在「進階設定」頁面中,展開「安全性」部分。
- 在「Service account」(服務帳戶) 選單中,選取偏好的服務帳戶。
強烈建議您指定權限最小的 IAM 服務帳戶,供節點使用,而非 Compute Engine 預設服務帳戶。如要瞭解如何建立僅具備必要權限的服務帳戶,請參閱「使用最低權限的服務帳戶」。
(選用) 設定其他選項,例如維護期間和進階安全防護功能。
點選「建立」。
Terraform
如要使用 Terraform 建立最小 Autopilot 叢集,請參考下列範例:
如要建立使用自訂 IAM 服務帳戶的 Autopilot 叢集,請按照下列步驟操作:
建立 IAM 服務帳戶,並授予專案的
roles/container.defaultNodeServiceAccount角色:建立使用新服務帳戶的 Autopilot 叢集:
本頁面的範例涵蓋佈建基本 Autopilot 叢集。如需設定自訂虛擬私有雲網路及部署範例工作負載的端對端範例,請參閱「使用 Terraform 建立叢集及部署工作負載」。如要進一步瞭解如何使用 Terraform,請參閱「使用 Terraform 佈建 GKE 資源」。
建立具有特定發布管道和版本的 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 叢集時設定發布管道,請按照下列步驟操作:
前往 Google Cloud 控制台的「Create an Autopilot cluster」(建立 Autopilot 叢集) 頁面。
在「叢集基本資訊」部分,完成下列操作:
- 指定名稱。
- 選擇「Region」(區域)。
在「進階設定」部分,選擇「發布版本」。
視需要設定新叢集的其他設定。
點選「建立」。
Terraform
如要在使用 Terraform 建立 Autopilot 叢集時設定發布管道和叢集版本,請參考下列範例:
如要進一步瞭解如何使用 Terraform,請參閱「使用 Terraform 佈建 GKE 資源」。
您也可以變更現有叢集的發布管道和 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 或 Google Cloud 控制台,確認叢集是否為 Autopilot 叢集。
gcloud
如要確認叢集是否以 Autopilot 模式建立,請執行下列指令:
gcloud container clusters describe CLUSTER_NAME \
--location=LOCATION
輸出內容包含下列項目:
autopilot:
enabled: true
控制台
如要確認叢集是在 Autopilot 模式中建立,請執行下列步驟:
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
在叢集清單中找到您的叢集。「模式」下方應會顯示「Autopilot」。
後續步驟
- 瞭解如何部署無狀態應用程式。
- 瞭解如何調度應用程式資源。
- 進一步瞭解 GKE Autopilot 總覽。
- 瞭解如何強化叢集安全性。