配置共享 VPC

Cloud Composer 1 | Cloud Composer 2

本页面介绍了 Cloud Composer 的共享 VPC 网络和宿主项目要求。

通过共享 VPC,组织可以在项目级层建立预算和访问权限控制边界,并使用专用 IP 跨这些边界进行安全高效的通信。在共享 VPC 配置中,Cloud Composer 可以调用同一组织中其他 Google Cloud 项目中托管的服务,而无需将服务公开给公共互联网。

共享 VPC 的准则

适用于 Cloud Composer 的服务和宿主项目
图 1. 适用于 Cloud Composer 的服务项目和宿主项目
  • 共享 VPC 要求您指定网络和子网所属的宿主项目以及与该宿主项目关联的服务项目。当 Cloud Composer 参与共享 VPC 时,Cloud Composer 环境位于服务项目中。

  • 如需设置共享 VPC,请在宿主项目中选择以下 IP 范围:

    • Cloud Composer 用作其 Compute Engine 层的 GKE 节点所用子网的主要 IP 范围
    • GKE 服务的次要 IP 范围
    • GKE pod 的次要 IP 范围
  • 次要 IP 范围不能与此 VPC 中的任何其他次要范围重叠。

  • 确保次要范围足以满足集群大小和预期增长的需求。

    次要范围的网络前缀不能超过以下值。指定等于或小于这些值的网络前缀。指定的值越小,CIDR 范围就越大。

    - Pods: `/21`
    - Services: `/27`
    

    请参阅创建 VPC 原生集群,了解有关如何配置 pod 的次要范围服务的次要范围的准则。

  • 子网的主要地址范围应当能够适应预期增长的需求,并且必须考虑预留 IP 地址

    子网主要地址范围的网络前缀不能超过 /29。指定等于或小于此值的网络前缀。指定的值越小,CIDR 范围就越大。

准备工作

  1. 找到以下项目 ID 和项目编号

    • 宿主项目:共享 VPC 网络所属的项目。
    • 服务项目:Cloud Composer 环境所属的项目。
  2. 让您的组织做好准备

  3. 在宿主项目和服务项目中启用 GKE API

配置宿主项目

按照下文所述配置宿主项目。

配置网络资源

选择以下任一选项以分配和配置网络资源。对于每个选项,您必须为 pod 和服务的次要 IP 范围命名。

设置共享 VPC 并关联服务项目

  1. 如果您尚未这样做,请设置共享 VPC。如果您已设置共享 VPC,请跳到下一步。

  2. 关联服务项目,以用于托管 Cloud Composer 环境。

    关联项目时,保留默认的 VPC 网络权限。

拥有 Google API 服务帐号的修改权限

在宿主项目中,拥有 Google API 服务帐号 SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com 的修改权限。

对于此帐号,请在项目级层添加其他角色 compute.networkUser。这是与共享 VPC 一起使用的代管式实例组的一项要求,因为此类型的服务帐号会执行创建实例等任务。

拥有 GKE 服务帐号的修改权限

在宿主项目中,拥有 GKE 服务帐号 service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com 的修改权限。

对于每个服务帐号,请添加其他角色 compute.networkUser

此权限必须在网络级层授予,才能允许服务帐号设置 Cloud Composer 所需的 VPC 对等互连。

拥有服务项目的 GKE 服务帐号的修改权限

在宿主项目中,拥有服务项目的 GKE 服务帐号的修改权限。

对于此帐号,请添加其他角色 Host Service Agent User

这样,服务项目的 GKE 服务帐号便可使用宿主项目的 GKE 服务帐号来配置共享网络资源。

配置与 *.pkg.dev 的连接

在宿主项目中,确保 DNS *.pkg.dev 解析为 199.36.153.4/30

为此,按以下方式创建新区域:CNAME *.pkg.dev -> pkg.dev. A pkg.dev. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7

拥有 Composer Agent 服务帐号的修改权限

  1. 在宿主项目中,如果这是第一个 Cloud Composer 环境,则预配 Composer Agent 服务帐号:gcloud beta services identity create --service=composer.googleapis.com

  2. 在宿主项目中:

    1. 拥有 Composer Agent 服务帐号 (service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) 的修改权限

    2. 对于此帐号,请添加其他角色:

      • 对于专用 IP 环境,请添加 Composer Shared VPC Agent 角色。

      • 对于公共 IP 环境,请添加 Compute Network User 角色。

您已完成宿主项目的共享 VPC 网络配置。

后续步骤