本文說明如何將應用程式部署至 GKE Enterprise 叢集。支援 GKE Enterprise 目標可讓您部署至 AWS、Azure 和內部部署叢集。
您可以使用 Cloud Deploy,將以容器為基礎的工作負載部署至任何可透過 Connect 閘道存取的 GKE Enterprise 使用者叢集。
事前準備
您必須有要部署的 GKE Enterprise 使用者叢集。
這個叢集可以是您建立的 GKE Enterprise 使用者叢集,也可以註冊現有的 Kubernetes 叢集。您為 GKE Enterprise 建立的叢集會自動收到會員資格。對於註冊至機群的現有叢集,您可以在註冊時指定成員名稱。您需要這個會員名稱來設定目標。
如果您使用 Google Cloud CLI 407.0.0 以上版本,註冊 Google Kubernetes Engine 叢集時,請在
gcloud container fleet memberships register
指令中加入--install-connect-agent
標記。系統不再預設安裝 Connect 代理程式。設定 Connect 閘道,將已註冊的叢集連結至 Google Cloud。
請務必使用與 Cloud Deploy 執行服務帳戶相同的服務帳戶設定網關。如果沒有,執行服務帳戶就沒有部署至 GKE Enterprise 叢集的必要權限。
設定 Cloud Deploy 以部署至 GKE Enterprise
建立目標設定。
您可以在提交管道 YAML 中設定目標,也可以在個別檔案中設定。此外,您可以在同一個檔案中設定多個目標,但這些目標必須位於不同的
kind: Target
節中。授予執行服務帳戶所需的角色,讓執行服務帳戶可透過閘道與已連結的叢集互動。
無論您使用的是預設 Cloud Deploy 服務帳戶還是自訂服務帳戶,都必須授予這項權限。
選用:如果基礎叢集不是 GKE 叢集,您可能需要設定 imagePullSecret,讓叢集能夠從 Artifact Registry 提取。
在目標定義中,建立
anthosCluster
節,指向 GKE Enterprise 叢集:指定 GKE Enterprise 叢集的語法如下:
anthosCluster: membership: projects/[project_name]/locations/global/memberships/[membership_name]
這個 GKE Enterprise 資源 ID 使用下列元素:
[
project_name
] 是您執行此叢集的 Google Cloud 專案名稱。您要部署至的叢集 (包括 GKE Enterprise 叢集) 不必與提交管道位於同一個專案。
[
membership_name
] 是您將叢集註冊至機群時選擇的名稱。
對於
location
,所有 GKE Enterprise 叢集成員資格都是global
,因此您不需要變更這個資源 ID 中的/locations/global/
。
以下是指向 GKE Enterprise 使用者叢集的目標設定範例:
apiVersion: deploy.cloud.google.com/v1
kind: Target
metadata:
name: qsdev
description: development cluster
anthosCluster:
membership: projects/my-app/locations/global/memberships/my-app-dev-cluster
後續步驟
進一步瞭解如何設定 Cloud Deploy 目標
瞭解 Cloud Deploy 執行環境。
進一步瞭解 GKE Enterprise
進一步瞭解 Connect 閘道。