Google Cloud Managed Lustre 會在虛擬私有雲 (VPC) 中執行,為 Compute Engine 虛擬機器 (VM) 執行個體、Google Kubernetes Engine (GKE) 叢集和無伺服器工作負載提供網路功能。
建立 Managed Lustre 執行個體和用戶端 Compute Engine VM 或 Google Kubernetes Engine 叢集時,必須指定相同的虛擬私有雲網路。
所需權限
您必須具備下列 IAM 權限:
serviceusage.services.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
如要授予這些權限,請新增下列所有預先定義的角色:
- 服務使用情形管理員 (
roles/serviceusage.serviceUsageAdmin) - Compute 網路管理員 (
roles/compute.networkAdmin) - Compute 安全管理員 (
roles/compute.securityAdmin)
或者,建立包含特定權限的自訂角色。
如要將角色授予使用者:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:EMAIL_ADDRESS"
--role=ROLE
建立及設定虛擬私有雲
啟用服務聯網。
gcloud services enable servicenetworking.googleapis.com建立自訂模式的虛擬私有雲網路。
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 範圍用於私人服務存取連線,可將您的虛擬私有雲網路與 Google 管理的網路對等互連,並在該網路中佈建 Managed Lustre 資源。這個分配範圍用於為 Managed Lustre 執行個體提供 IP,且不得與虛擬私有雲網路中的任何子網路重疊。
每個 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)" )建立防火牆規則,允許來自您建立的 IP 範圍的 TCP 流量。
gcloud compute firewall-rules create FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=NETWORK_NAME \ --source-ranges=$CIDR_BLOCK連結對等互連。
gcloud services vpc-peerings connect \ --network=NETWORK_NAME \ --ranges=IP_RANGE_NAME \ --service=servicenetworking.googleapis.com
為多個 NIC 建立額外的子網路
如果您打算使用多個網路介面卡 (多 NIC) 匯總頻寬,則必須在虛擬私有雲網路中,為每個 NIC 建立個別的子網路。
如要使用多重 NIC,您必須使用 Compute Engine 機器類型,並將多個實體 NIC 連接至一般 VPC。附加至具有 RDMA 網路設定檔的虛擬私有雲的 NIC,無法用於增加一般網路頻寬。詳情請參閱「網路和 GPU 機器」。
如要為額外的實體 NIC 建立子網路,請按照下列步驟操作:
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)。詳情請參閱「使用服務範圍保護執行個體」。
排解虛擬私有雲設定問題
權限遭拒,無法為服務「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."
如果您已在這個網路上建立 VPC 對等互連,但 IP 範圍不同,系統就會傳回這個錯誤。兩個可能的解決方案如下:
取代現有 IP 範圍:
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
或者,將新的 IP 範圍新增至現有連線:
擷取對等互連的現有 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
IP 位址範圍用盡
如果執行個體建立作業失敗,並顯示 IP 位址範圍用盡錯誤:
ERROR: (gcloud.alpha.Google Cloud Managed Lustre.instances.create) FAILED_PRECONDITION: Invalid
resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted
請按照虛擬私有雲指南修改現有私人連線,新增 IP 位址範圍。
建議前置長度至少為 /20 (4096 個位址)。