在专用网络中使用 Cloud Build

本页面介绍如何配置常用的专用网络设置以与专用池搭配使用。如需简要了解专用池,请参阅专用池概览

定义默认网络设置

当您创建专用池时,默认设置是使用专用池所在的 Virtual Private Cloud 网络。在以下情况下,使用默认 VPC 网络:

如需了解如何连接到默认网络,请参阅创建专用池

定义静态 IP 范围

在某些情况下,您可能需要为专用池定义静态 IP 范围,例如,调用允许来自已定义 IP 范围的列表调用的服务时。使用专用池时,如果要在您的 VPC 网络与专用池的 VPC 网络之间建立专用连接,您可以使用 IP 地址的已定义 CIDR 范围创建分配的 IP 地址,供工作器在其上运行。

在 VPC 网络中运行

如需将 Cloud Build 与防火墙后的专用网络(例如 VPC 网络)中的资源搭配使用,您可以在专用池和您的代管式 VPC 网络之间创建专用连接。这使专用池可以访问您的专用网络中的资源,例如源代码库、工件代码库、数据库、密钥实例和运行时。

在共享 VPC 网络中运行

如果您使用共享 VPC 网络,则必须将创建专用池的项目关联到包含该共享 VPC 网络的宿主项目。如需了解如何关联项目,请参阅预配共享 VPC 网络

连接到另一个对等互连 VPC 网络或共享 VPC 网络中的资源

组织通常采用共享 VPC(宿主项目)来为所有项目集中管理网络和 Identity and Access Management。这允许您将内部 IP 地址用于 Google 管理的服务,例如专用 GKE 集群专用 Cloud SQL。这些 Google 管理的服务也与客户拥有的共享 VPC 网络对等互连。此设置的问题在于,由于缺少传递性对等互连,专用池无法与 Google 管理的服务通信。仅当多个网络通过 VPC 对等互连连接到另一个网络时,传递性对等互连才会成为问题。如果其中一个连接改为使用 VPN(或互连)而不是 VPC 对等互连,则网络可以建立连接。 如需了解此网络设置的说明,请参阅使用 Cloud Build 专用池访问专用 Google Kubernetes Engine 集群

在特定区域中运行

专用池目前支持 15 个区域。您可以在以下任何区域中创建专用池,并将构建配置为在指定区域中运行。您可以将任何构建容器映像和工件存储在指定区域的 Artifact Registry 代码库Cloud Storage 存储桶中。

部署到专用 GKE 集群

专用 GKE 集群的控制层面可以具有公共端点或专用端点。

如需部署到具有公共端点的专用 GKE 集群,您可以在具有公共互联网访问权限的默认网络中创建专用池并为专用池定义静态 IP 范围,以允许访问集群。

如需部署到具有专用端点的专用 GKE 集群,您可以按照使用 Cloud Build 专用池访问专用 Google Kubernetes Engine 集群中所述的步骤操作。 或者,在与您的 VPC 建立对等互连后,您可以在集群上运行网络代理,如使用网络代理创建专用 GKE 集群中所述。

与 VPC Service Controls 搭配使用

VPC Service Controls 是 Google Cloud 的一项功能,可让您设置安全的边界以防数据渗漏。如需了解如何将 VPC Service Controls 与专用池结合使用,从而为构建额外增加一层安全保护,请参阅使用 VPC Service Controls

移除工作器的公共 IP

如需移除专用池的公共 IP,您可以将工作器池配置文件中的 egressOption 字段设置为 NO_PUBLIC_EGRESS。但请注意,移除公共 IP 会阻止专用池访问公共互联网中的资源。

限制流向公共互联网的出站流量

您可以通过以下几种方法限制从专用池到公共互联网的出站流量:

强制使用专用池

Cloud Build 提供 constraints/cloudbuild.allowedWorkerPools 组织政策限制条件,可用于强制使组织中的构建不使用默认池,而仅使用专用池。如需了解如何使用此功能,请参阅设置组织政策限制条件

与专用 Cloud DNS 区域结合使用

您可以创建专用 Cloud DNS 区域,与专用池搭配使用。如需了解相关说明,请参阅创建专用可用区

后续步骤