Google Cloud Managed Lustre 实例是在 Google 管理的网络中预配的 ,该网络使用 专用服务访问通道连接到您的虚拟私有云 (VPC)。
您可以使用以下任一网络设置将 Managed Lustre 实例连接到客户端 Compute Engine 虚拟机或 Google Kubernetes Engine 集群:
同一 VPC 网络:将客户端资源和 Managed Lustre 实例连接到同一 VPC 网络。
不同的 VPC 网络:在不同的 VPC 网络中部署客户端资源,并使用 Network Connectivity Center 连接这两个网络。如需了解如何设置 NCC,请参阅 Network Connectivity Center 文档。
对于这两种设置,请按照本页上的说明配置将预配 Managed Lustre 实例的 VPC 网络。 如果您使用的是不同的 VPC 网络,说明中会包含一个标注,其中列出了客户端 VPC 网络所需的步骤。
所需权限
您必须具有以下 IAM 权限:
serviceusage.services.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
您可以通过添加以下所有预定义角色来授予这些权限:
- Service Usage Admin (
roles/serviceusage.serviceUsageAdmin) - Compute Network Admin (
roles/compute.networkAdmin) - Compute Security Admin (
roles/compute.securityAdmin)
如需将角色授予用户,请执行以下操作:
Google Cloud 控制台
在 Google Cloud 控制台中,前往 IAM 页面。
点击授予访问权限 。
在新的主账号 字段中,输入用户的电子邮件地址。
在选择角色 下拉菜单中,选择要授予的角色。
如需授予多个角色,请点击添加其他角色 ,然后选择下一个角色。
点击保存 。
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:EMAIL_ADDRESS" \
--role=ROLE
创建 VPC 并进行对等互连
如需创建 VPC 网络并为 Managed Lustre 设置 专用服务访问通道 连接,请执行以下步骤:
Google Cloud 控制台
启用 Service Networking API。
以自定义模式创建 VPC 网络:
在 Google Cloud 控制台中,前往 VPC 网络 页面。
点击创建 VPC 网络。
输入网络的名称 。
取消选中自动设置 MTU ,然后在最大传输单元 (MTU) 字段中输入
8896。在子网创建模式 下,选择自定义 。
为 GKE 或 Compute Engine 资源创建主子网:
- 在新子网 部分中,输入子网的名称 。
- 选择区域 。
- 在 IPv4 范围 字段中,输入主 IPv4 范围(例如
10.128.0.0/20)。 - 点击完成 。
- 点击创建 以创建 VPC 网络。
为专用服务访问通道分配 IP 范围。
此内部 IP 范围用于专用服务访问通道连接,该连接会将您的 VPC 网络与预配 Managed Lustre 资源的 Google 管理的网络进行对等互连。此分配的范围用于为 Managed Lustre 实例提供 IP,并且不得与 VPC 网络中的任何子网重叠。
每个 Managed Lustre 实例都需要一个连续的 CIDR 块,其前缀长度至少为 23。
我们建议您创建更大的 IP 范围(/20),以便创建多个 Managed Lustre 实例或使用 其他 Google Cloud 服务。
- 在 VPC 网络 页面上,点击 VPC 网络的名称。
- 选择专用服务访问通道 标签页。
- 选择为服务分配的 IP 范围标签页。
- 点击分配 IP 范围 。
- 输入分配的范围的名称 和描述 (例如
Managed Lustre VPC Peering)。 - 指定 IP 地址范围:
- 如需让 Google 选择可用范围,请选择自动 并输入前缀长度
20。 - 如需指定特定范围,请选择自定义 并输入前缀长度至少为
/23的 CIDR 块(例如10.128.0.0/20)。 - 点击分配 。
记下与分配的范围关联的 CIDR 块。
在为服务分配的 IP 范围 表中,找到您创建的范围,并记下内部 IP 范围 列中的值(例如
10.128.0.0/20)。您将在下一步中将此范围指定为来源。-
- 在 Google Cloud 控制台中,前往 防火墙政策 页面。
- 点击创建防火墙规则。
- 输入防火墙规则的名称 。
- 在网络 字段中,选择您的 VPC 网络。
- 对于流量方向 ,选择入站 。
- 对于对匹配项执行的操作,选择允许。
- 对于目标,选择网络中的所有实例。
- 对于来源过滤条件,选择IPv4 范围。
- 在 IPv4 来源范围 字段中,输入在上一步中记下的分配的范围中的 CIDR 地址块。
- 在协议和端口下,选择指定的协议和端口。
- 选中 TCP 复选框,然后在端口 字段中输入
988, 6988。 - 点击创建 。
对于不同的 VPC 网络:如果您的客户端虚拟机或 GKE 集群位于通过 Network Connectivity Center 连接的不同 VPC 网络中,则这两个 VPC 网络中的防火墙规则都必须允许来自分配的 IP 范围的流量。重复 创建防火墙规则… 步骤,在客户端 VPC 网络中创建 防火墙规则,以允许来自分配的 CIDR 地址块的端口
988和6988上的入站 TCP 流量。 建立专用服务访问通道连接。
此连接仅在预配 Managed Lustre 实例的 VPC 网络中是必需的。
- 在 VPC 网络 页面上,点击 VPC 网络的名称。
- 选择专用服务访问通道 标签页。
- 选择连到服务的专用连接 标签页。
- 点击创建连接 。
- 在指定的分配范围 列表中,选择您创建的分配的 IP 范围。
- 点击连接 。
gcloud
启用服务网络。
gcloud services enable servicenetworking.googleapis.com以自定义模式创建 VPC 网络。
gcloud compute networks create NETWORK_NAME \ --subnet-mode=custom \ --mtu=8896为 GKE 或 Compute Engine 资源创建主子网。
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --range=10.128.0.0/20 \ --region=REGION为专用服务访问通道分配 IP 范围。
此内部 IP 范围用于专用服务访问通道连接,该连接会将您的 VPC 网络与预配 Managed Lustre 资源的 Google 管理的网络进行对等互连。此分配的范围用于为 Managed Lustre 实例提供 IP,并且不得与 VPC 网络中的任何子网重叠。
每个 Managed Lustre 实例都需要一个连续的 CIDR 块,其前缀长度至少为 23。
我们建议您创建更大的 IP 范围(/20),以便创建多个 Managed Lustre 实例或使用 其他 Google Cloud 服务。
gcloud compute addresses create IP_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=20 \ --description="Managed Lustre VPC Peering" \ --network=NETWORK_NAME获取与您在上一步中创建的范围关联的 CIDR 地址块。
CIDR_BLOCK=$( gcloud compute addresses describe IP_RANGE_NAME \ --global \ --format="value[separator=/](address, prefixLength)" )-
gcloud compute firewall-rules create FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=NETWORK_NAME \ --source-ranges=$CIDR_BLOCK对于不同的 VPC 网络:如果您的客户端虚拟机或 GKE 集群位于通过 Network Connectivity Center 连接的不同 VPC 网络中,则这两个 VPC 网络中的防火墙 规则都必须允许来自分配的 IP 范围 (
$CIDR_BLOCK) 的流量。再次运行firewall-rules create命令,在客户端 VPC 网络中创建 防火墙规则:gcloud compute firewall-rules create CLIENT_FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=CLIENT_NETWORK_NAME \ --source-ranges=$CIDR_BLOCK
建立专用服务访问通道连接。
gcloud services vpc-peerings connect \ --network=NETWORK_NAME \ --ranges=IP_RANGE_NAME \ --service=servicenetworking.googleapis.com此连接仅在预配 Managed Lustre 实例的 VPC 网络中是必需的。
为多 NIC 创建其他子网
如果您计划使用多 NIC 来聚合带宽,则必须在 VPC 网络中为每个 NIC 创建单独的子网。
如需受益于多 NIC,您必须使用具有多个物理 NIC 的 Compute Engine 机器类型,这些 NIC 连接到常规 VPC。连接到具有 RDMA 网络配置文件的 VPC 的 NIC 不能用于增加常规网络带宽。如需了解详情,请参阅 网络和 GPU 机器。
如需为其他物理 NIC 创建子网,请执行以下操作:
Google Cloud 控制台
在 Google Cloud 控制台中,前往 VPC 网络 页面。
点击 VPC 网络的名称。
点击添加子网 。
在新子网 部分中:
- 输入子网的名称 。
- 选择区域 。
- 输入 IP 地址范围 (例如
10.130.0.0/20)。 - 点击 Add (添加)。
gcloud
gcloud compute networks subnets create SUBNET_NAME_2 \
--network=NETWORK_NAME \
--range=10.130.0.0/20 \
--region=REGION
对每个其他 NIC 重复此步骤。确保每个子网的 IP 范围互不重叠。
VPC Service Controls
Managed Lustre 支持 VPC Service Controls (VPC-SC)。 如需了解详情,请参阅通过服务边界保护实例 。
排查 VPC 设置问题
对服务 servicenetworking.googleapis.com 添加对等互连的权限遭拒
ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.
此错误表示您的用户账号没有 servicenetworking.services.addPeering IAM 权限。
如需了解如何向您的账号添加以下角色之一,请参阅使用 IAM 进行访问权限控制,了解 相关说明:
roles/compute.networkAdmin或roles/servicenetworking.networksAdmin
无法在 CreateConnection 中修改分配的范围
ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."
如果您已使用不同的 IP 范围在此网络上创建 VPC 对等互连,则会返回此错误。有两个可能的解决方案:
替换现有 IP 范围:
Google Cloud 控制台
在 Google Cloud 控制台中,前往 VPC 网络 页面。
点击 VPC 网络的名称。
选择专用服务访问通道 标签页。
在专用服务访问通道 标签页中,选择连到服务的专用连接 标签页。
点击连接名称(例如
servicenetworking-googleapis-com)。在指定的分配范围 列表中,选择新的分配范围,然后清除要替换的任何分配范围的复选框。
点击保存 。
gcloud
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
或者,将新的 IP 范围添加到现有连接:
Google Cloud 控制台
在 Google Cloud 控制台中,前往 VPC 网络 页面。
点击 VPC 网络的名称。
选择专用服务访问通道 标签页。
在专用服务访问通道 标签页中,选择连到服务的专用连接 标签页。
点击连接名称。
在指定的分配范围 列表中,保持现有分配的范围处于选中状态,然后选择新的分配范围。
点击保存 。
gcloud
检索对等互连的现有 IP 范围列表:
EXISTING_RANGES="$( gcloud services vpc-peerings list \ --network=NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --format="value(reservedPeeringRanges.list())" \ --flatten=reservedPeeringRanges )然后,将新范围添加到对等互连:
gcloud services vpc-peerings update \ --network=NETWORK_NAME \ --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \ --service=servicenetworking.googleapis.com