Google Cloud Managed Lustre wird in einer Virtual Private Cloud (VPC) ausgeführt, die Netzwerkfunktionen für VM-Instanzen von Compute Engine, Cluster von Google Kubernetes Engine (GKE) und serverlose Arbeitslasten bietet.
Beim Erstellen der verwalteten Lustre-Instanz und der Client-Compute Engine-VMs oder Google Kubernetes Engine-Cluster muss dasselbe VPC-Netzwerk angegeben werden.
Erforderliche Berechtigungen
Sie benötigen die folgenden IAM-Berechtigungen:
serviceusage.services.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
Diese Berechtigungen können durch Hinzufügen aller der folgenden vordefinierten Rollen erteilt werden:
- Service Usage Admin (
roles/serviceusage.serviceUsageAdmin) - Compute-Netzwerkadministrator (
roles/compute.networkAdmin) - Compute-Sicherheitsadministrator (
roles/compute.securityAdmin)
Alternativ können Sie eine benutzerdefinierte Rolle mit den spezifischen Berechtigungen erstellen.
So weisen Sie einem Nutzer eine Rolle zu:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:EMAIL_ADDRESS"
--role=ROLE
VPC erstellen und konfigurieren
Aktivieren Sie Service Networking.
gcloud services enable servicenetworking.googleapis.comErstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus.
gcloud compute networks create NETWORK_NAME \ --subnet-mode=custom \ --mtu=8896Erstellen Sie ein primäres Subnetz für Ihre GKE- oder Compute Engine-Ressourcen.
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --range=10.128.0.0/20 \ --region=REGIONWeisen Sie einen IP-Bereich für den Zugriff auf private Dienste zu.
Dieser interne IP-Bereich wird für die Verbindung für den Zugriff auf private Dienste verwendet, über die Ihr VPC-Netzwerk mit dem von Google verwalteten Netzwerk verbunden wird, in dem Managed Lustre-Ressourcen bereitgestellt werden. Dieser zugewiesene Bereich wird verwendet, um IP-Adressen für Managed Lustre-Instanzen bereitzustellen. Er darf sich nicht mit Subnetzen in Ihrem VPC-Netzwerk überschneiden.
Für jede Managed Lustre-Instanz ist ein zusammenhängender CIDR-Block mit einer Präfixlänge von mindestens 23 erforderlich.
Wir empfehlen, einen größeren IP-Bereich von /20 zu erstellen, um die Erstellung mehrerer Managed Lustre-Instanzen oder die Verwendung anderer Google Cloud Dienste zu ermöglichen.
gcloud compute addresses create IP_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=20 \ --description="Managed Lustre VPC Peering" \ --network=NETWORK_NAMERufen Sie den CIDR-Block ab, der dem Bereich zugeordnet ist, den Sie im vorherigen Schritt erstellt haben.
CIDR_BLOCK=$( gcloud compute addresses describe IP_RANGE_NAME \ --global \ --format="value[separator=/](address, prefixLength)" )Erstellen Sie eine Firewallregel, die den TCP-Traffic aus dem von Ihnen erstellten IP-Bereich zulässt.
gcloud compute firewall-rules create FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=NETWORK_NAME \ --source-ranges=$CIDR_BLOCKStellen Sie die Peering-Verbindung her.
gcloud services vpc-peerings connect \ --network=NETWORK_NAME \ --ranges=IP_RANGE_NAME \ --service=servicenetworking.googleapis.com
Zusätzliche Subnetze für mehrere NICs erstellen
Wenn Sie mehrere Netzwerkschnittstellenkarten (Multi-NIC) verwenden möchten, um die Bandbreite zu aggregieren, müssen Sie für jede NIC ein separates Subnetz in Ihrem VPC-Netzwerk erstellen.
Damit Sie von mehreren NICs profitieren können, müssen Sie Compute Engine-Maschinentypen mit mehreren physischen NICs verwenden, die an reguläre VPCs angehängt sind. NICs, die an VPCs mit RDMA-Netzwerkprofilen angehängt werden, können nicht verwendet werden, um die allgemeine Netzwerkbandbreite zu erhöhen. Weitere Informationen finden Sie unter Netzwerk und GPU-Maschinen.
So erstellen Sie ein Subnetz für eine zusätzliche physische NIC:
gcloud compute networks subnets create SUBNET_NAME_2 \
--network=NETWORK_NAME \
--range=10.130.0.0/20 \
--region=REGION
Wiederholen Sie diesen Schritt für jede zusätzliche NIC. Achten Sie darauf, dass sich die IP-Bereiche für die einzelnen Subnetze nicht überschneiden.
VPC Service Controls
Managed Lustre unterstützt VPC Service Controls (VPC-SC). Weitere Informationen finden Sie unter Instanzen mit einem Dienstperimeter sichern.
Fehlerbehebung bei der VPC-Einrichtung
Berechtigung zum Hinzufügen von Peering für Dienst servicenetworking.googleapis.com verweigert
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'.
Dieser Fehler bedeutet, dass Sie in Ihrem Nutzerkonto nicht über die IAM-Berechtigung servicenetworking.services.addPeering verfügen.
Unter Zugriffssteuerung mit IAM finden Sie eine Anleitung zum Hinzufügen einer der folgenden Rollen zu Ihrem Konto:
roles/compute.networkAdminoderroles/servicenetworking.networksAdmin
Die zugewiesenen Bereiche können in CreateConnection nicht geändert werden
ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."
Dieser Fehler wird zurückgegeben, wenn Sie bereits ein VPC-Peering für dieses Netzwerk mit anderen IP-Bereichen erstellt haben. Es gibt zwei mögliche Lösungen:
Vorhandene IP-Bereiche ersetzen:
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
Oder fügen Sie den neuen IP-Bereich der vorhandenen Verbindung hinzu:
Rufen Sie die Liste der vorhandenen IP-Bereiche für das Peering ab:
EXISTING_RANGES="$( gcloud services vpc-peerings list \ --network=NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --format="value(reservedPeeringRanges.list())" \ --flatten=reservedPeeringRanges )Fügen Sie dann den neuen Bereich dem Peering hinzu:
gcloud services vpc-peerings update \ --network=NETWORK_NAME \ --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \ --service=servicenetworking.googleapis.com
IP-Adressbereich aufgebraucht
Wenn beim Erstellen einer Instanz ein Fehler auftritt, weil der IP-Adressbereich ausgeschöpft ist:
ERROR: (gcloud.alpha.Google Cloud Managed Lustre.instances.create) FAILED_PRECONDITION: Invalid
resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted
Folgen Sie der VPC-Anleitung, um die vorhandene private Verbindung zu ändern und IP-Adressbereiche hinzuzufügen.
Wir empfehlen eine Präfixlänge von mindestens /20 (4.096 Adressen).