In diesem Dokument wird beschrieben, wie Sie Managed Lustre in GKE einbinden, um mit dem Cluster Toolkit eine optimierte Umgebung für anspruchsvolle, datenintensive Arbeitslasten wie künstliche Intelligenz (KI), maschinelles Lernen (ML) und Hochleistungs-Computing (HPC) zu schaffen.
In diesem Dokument stellen Sie einen GKE-Cluster und eine Managed Lustre-Instanz deklarativ mit dem Cluster Toolkit bereit, konfigurieren den Managed Lustre-CSI-Treiber und die Kubernetes-PersistentVolume-Ressourcen automatisch und führen eine Beispielarbeitslast im Cluster aus.
Dieses Dokument richtet sich an Machine-Learning-Entwickler und Data & AI-Spezialisten, die sich für die Funktionen zur Kubernetes-Containerorchestrierung interessieren, die von Managed Lustre-Instanzen unterstützt werden. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und -Aufgaben.
Hintergrund
In diesem Abschnitt werden die in diesem Dokument verwendeten Schlüsseltechnologien beschrieben.
Cluster Toolkit
Cluster Toolkit ist ein Open-Source-Tool, das die Bereitstellung und Verwaltung von KI-/ML- und HPC-Umgebungen in Google Cloudvereinfacht. Das Cluster Toolkit verwendet modulare, deklarative Blueprints, um die Bereitstellung von GKE-Clustern, Netzwerken, Rechenbeschleunigern und Hochleistungsspeicher zu automatisieren.
Weitere Informationen finden Sie in der Übersicht über das Cluster Toolkit.
Managed Lustre
Managed Lustre ist ein paralleles Hochleistungs-Dateisystem, das für anspruchsvolle Arbeitslasten entwickelt wurde. Mit dem Managed Lustre CSI-Treiber können Sie Managed Lustre-Instanzen in GKE einbinden, indem Sie standardmäßige Kubernetes-PersistentVolumeClaims (PVCs) und PersistentVolumes (PVs) verwenden. Dieser Treiber ist besonders nützlich für KI-/ML- und HPC-Arbeitslasten, die persistenten, skalierbaren Speicher mit hohem Durchsatz erfordern.
Weitere Informationen finden Sie unter Informationen zu Managed Lustre CSI-Treiber.
Nutzungsoptionen für Beschleuniger
Mit Flex-Start- und Spot-VMs können Sie die Bereitstellung von Rechenressourcen optimieren, da Sie nur für die benötigten Ressourcen zahlen. Weitere Informationen finden Sie unter Optionen für die Nutzung von Beschleunigern für KI-/ML-Arbeitslasten in GKE.
Hinweis
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Cloud Managed Lustre API und die Google Kubernetes Engine API. APIs aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl
gcloud components updateab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Umgebung vorbereiten
Legen Sie die Standardumgebungsvariablen fest und rufen Sie die IP-Adresse des Bereitstellungscomputers ab:
gcloud config set project PROJECT_ID export PROJECT_ID=$(gcloud config get project) export REGION=REGION export ZONE=ZONE export DEPLOYMENT_NAME=DEPLOYMENT_NAME export AUTHORIZED_CIDR="$(curl -s ifconfig.me)/32"Ersetzen Sie die folgenden Werte:
PROJECT_ID: Projekt-ID in Google Cloud .REGION: Die Region für Ihre Bereitstellung, z. B.us-central1.ZONE: eine Zone, die Managed Lustre unterstützt, z. B.us-central1-a.DEPLOYMENT_NAME: Der Name der Bereitstellung.
Cluster und Speicher bereitstellen
Stellen Sie die Infrastruktur mit dem Blueprint
examples/gke-managed-lustre.yamlaus dem Cluster Toolkit-Repository bereit:gcluster deploy examples/gke-managed-lustre.yaml \ --vars project_id=${PROJECT_ID},deployment_name=${DEPLOYMENT_NAME},region=${REGION},zone=${ZONE},authorized_cidr=${AUTHORIZED_CIDR}Das Cluster Toolkit stellt die VPC bereit, erstellt die Managed Lustre-Instanz, stellt den GKE-Cluster mit aktiviertem Managed Lustre CSI-Treiber bereit und erstellt das Kubernetes-PersistentVolume und den PersistentVolumeClaim.
Konfigurieren Sie
kubectlfür den Zugriff auf Ihren neuen Cluster:gcloud container clusters get-credentials ${DEPLOYMENT_NAME} \ --zone=${ZONE} \ --project=${PROJECT_ID}
Arbeitslast mit Managed Lustre ausführen
Senden Sie eine Arbeitslast, die das Managed Lustre-Volume mit dem Befehl gcluster job submit bereitstellt. Weitere Informationen zu Optionen zum Einreichen von Jobs finden Sie im Cluster Toolkit Job Submission Guide.
gcluster job submit \
--name="test-lustre-$(date +%H%M)" \
--cluster=${DEPLOYMENT_NAME} \
--project=${PROJECT_ID} \
--location=${ZONE} \
--compute-type=n2-standard-16 \
--image=ubuntu:latest \
--command="df -h && echo 'Hello from Managed Lustre on GKE' > /lustre-data/hello.txt && cat /lustre-data/hello.txt" \
--mount="gke-lustre-instance-pvc;/lustre-data;rw"
Verwenden Sie den Befehl gcluster job logs, um Arbeitslastlogs und den Ausführungsstatus zu prüfen:
gcluster job logs "test-lustre-$(date +%H%M)" \
--cluster=${DEPLOYMENT_NAME} \
--project=${PROJECT_ID} \
--location=${ZONE}
Die Ausgabe sieht etwa so aus:
Filesystem Size Used Avail Use% Mounted on
overlay 193G 11G 183G 6% /
tmpfs 64M 0 64M 0% /dev
10.8.68.5@tcp://lustrefs 35T 22M 35T 1% /lustre-data
shm 64M 0 64M 0% /dev/shm
Hello from Managed Lustre on GKE
Bereinigen
Wenn Sie vermeiden möchten, dass Ihrem Google Cloud Konto die in diesem Dokument verwendeten Ressourcen in Rechnung gestellt werden, löschen Sie die Bereitstellung mit dem Cluster Toolkit:
gcluster destroy ${DEPLOYMENT_NAME}
Nächste Schritte
- Weitere Informationen zum verwalteten Lustre-CSI-Treiber
- Cluster Toolkit-Blueprint-Katalog ansehen
- GKE-Speicherklasse erstellen
- Volume erstellen und verwenden, das von Managed Lustre unterstützt wird