本文档介绍了如何将应用部署到 GKE 关联集群。对 GKE 关联集群的支持可实现向 AWS、Azure 和本地集群的部署。
借助 Cloud Deploy,您可以将基于容器的工作负载部署到可以使用 Connect 网关访问的任何 GKE 关联集群。
准备工作
拥有要部署到的用户集群。
集群可以创建为 GKE 关联集群,也可以 注册现有 Kubernetes 集群。 您创建为 GKE 关联集群的集群会自动获得成员资格。对于您 注册到舰队的现有集群,您 可以在注册时指定成员资格名称。配置目标时,您需要使用此成员资格名称。
如果您使用的是 Google Cloud CLI 407.0.0 版或更高版本,则在注册 Google Kubernetes Engine 集群时,需要在
--install-connect-agent标志的gcloud container fleet memberships register命令中添加 ,默认情况下,Connect 代理不再安装。设置 Connect 网关 以 连接到已注册的集群 Google Cloud。
请务必使用将用作 Cloud Deploy 执行服务账号的同一服务帐号来设置网关。否则,执行服务账号将没有部署到集群所需的权限。
设置 Cloud Deploy 以部署到 GKE 关联集群
创建您的目标配置。
目标可以在交付流水线 YAML 中配置,也可以在单独的文件中配置。此外,您可以在同一文件中配置多个目标,但它们必须位于不同的
kind: Target节中。向 执行服务账号 授予其所需的 角色 ,以便它可以通过网关与连接的集群进行交互。
无论您使用的是默认 Cloud Deploy 服务帐号还是自定义服务账号,都需要进行此授予。
在底层 Kubernetes 集群上 为执行服务账号设置 RBAC。
可选:如果底层集群不是 GKE 集群,您可能需要配置 imagePullSecret 以允许集群从 Artifact Registry 中拉取。
在目标定义中,创建一个
anthosCluster节以指向集群:指定 GKE 关联集群的语法如下所示:
anthosCluster: membership: projects/[project_name]/locations/global/memberships/[membership_name]此 GKE 关联集群资源标识符使用以下元素:
[
project_name] 是您运行此集群的 Google Cloud 项目名称。您要部署到的集群(包括 GKE 关联集群)不需要与交付流水线位于同一 项目中。
对于
location,所有集群成员资格都是global,因此您无需 在此资源标识符中更改/locations/global/。
以下是一个示例目标配置:
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 关联集群
详细了解 Connect 网关。