本文档介绍了如何将您的应用部署到 GKE Enterprise 集群。支持 GKE Enterprise 目标,可部署到 AWS、Azure 和本地集群。
借助 Cloud Deploy,您可以将基于容器的工作负载部署到您可以使用 Connect 网关访问的任何 GKE Enterprise 用户集群。
准备工作
拥有要部署到的 GKE Enterprise 用户集群。
此集群可以是您作为 GKE Enterprise 用户创建的集群 也可以 注册现有 Kubernetes 集群。 您为 GKE Enterprise 创建的集群会自动接收 会员。对于您要创建的 注册到舰队后,您就可以 在注册时指定会员名称。您需要为目标配置使用此会员名称。
如果您使用的是 Google Cloud CLI 407.0.0 或更高版本,则需要 在
--install-connect-agent
gcloud container fleet memberships register
命令, Google Kubernetes Engine 集群时,您会注意到该问题。默认情况下,系统不再安装 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 资源标识符使用以下元素:
[
project_name
] 是您要运行此集群的 Google Cloud 项目的名称。要部署到的集群,包括 GKE Enterprise 不需要与您的交付位于同一项目中 流水线。
[
membership_name
] 是您 注册集群 一个舰队
对于
location
,所有 GKE Enterprise 集群成员资格都是global
,因此您无需更改此资源标识符中的/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 网关。