Sie können aktive GPU-Arbeitslastdaten verschlüsseln, indem Sie die Arbeitslasten auf verschlüsselten Confidential Google Kubernetes Engine-Knoten ausführen. Auf dieser Seite erfahren Sicherheitsingenieure und ‑operatoren, wie sie die Sicherheit der Daten in beschleunigten Arbeitslasten wie KI-/ML-Aufgaben verbessern können. Sie sollten mit den folgenden Konzepten vertraut sein:
GPU-Arbeitslasten auf Confidential GKE Nodes ausführen
Sie können Confidential GKE Nodes für Ihre GPU-Arbeitslasten mit einer der folgenden Methoden anfordern:
- Mit GKE-ComputeClasses können Sie Confidential GKE Nodes automatisch für Ihre GPU-Arbeitslasten bereitstellen. Sie können diese Methode in Autopilot-Clustern und in Standardclustern verwenden. Weitere Informationen finden Sie im Abschnitt Compute-Klassen zum Ausführen von GPU-Arbeitslasten auf Confidential GKE Nodes verwenden.
- Confidential GKE Nodes für Ihre Standardcluster oder -knotenpools manuell konfigurieren. Weitere Informationen finden Sie im Abschnitt Confidential GKE Nodes in GKE Standard manuell konfigurieren.
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diesen Task 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 update
ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Anforderungen und Einschränkungen
Unabhängig von der Konfigurationsmethode für Confidential GKE Nodes, die Sie auswählen, müssen Sie alle folgenden Anforderungen erfüllen:
- Die Knoten müssen sich in einer Zone befinden, die NVIDIA Confidential Computing unterstützt. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.
- Die Knoten dürfen nur eine NVIDIA H100-GPU mit 80 GB und den Maschinentyp
a3-highgpu-1g
verwenden. - Die Knoten müssen die Confidential Computing-Technologie Intel TDX verwenden.
- Sie benötigen ein Kontingent für H100-GPUs mit 80 GB auf Abruf (
compute.googleapis.com/preemptible_nvidia_h100_gpus
) an Ihren Knotenstandorten. Weitere Informationen zum Verwalten Ihres Kontingents finden Sie unter Kontingente aufrufen und verwalten.
Zusätzlich zu diesen Anforderungen müssen Sie je nach der von Ihnen gewählten Konfigurationsmethode für Confidential GKE Nodes bestimmte Bedingungen erfüllen, wie in der folgenden Tabelle beschrieben:
Konfigurationsmethode | Voraussetzungen | Beschränkungen |
---|---|---|
ComputeClasses |
|
|
Manuelle Konfiguration im Standardmodus |
|
|
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Google Cloud Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen vertraulicher GKE-Knoten benötigen:
-
Confidential GKE Nodes erstellen:
Kubernetes Engine-Clusteradministrator (
roles/container.clusterAdmin
) -
GPU-Arbeitslasten bereitstellen:
Kubernetes Engine Developer (
roles/container.developer
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
ComputeClasses zum Ausführen vertraulicher GPU-Arbeitslasten verwenden
Sie können die Konfiguration für Confidential GKE Nodes in einer ComputeClass definieren. ComputeClasses sind benutzerdefinierte Kubernetes-Ressourcen, mit denen Sie Knotenkonfigurationen für die automatische Skalierung und Planung von GKE deklarativ festlegen können. Sie können die Schritte in diesem Abschnitt in jedem Autopilot- oder Standardcluster ausführen, auf dem GKE-Version 1.33.3-gke.1392000 oder höher ausgeführt wird.
So verwenden Sie eine ComputeClass, um GPU-Arbeitslasten auf Confidential GKE Nodes auszuführen:
Speichern Sie das folgende ComputeClass-Manifest als YAML-Datei:
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTECLASS_NAME spec: nodePoolConfig: confidentialNodeType: TDX priorityDefaults: location: zones: ['ZONE1','ZONE2'] priorities: - gpu: type: nvidia-h100-80gb count: 1 driverVersion: default spot: true activeMigration: optimizeRulePriority: true nodePoolAutoCreation: enabled: true whenUnsatisfiable: DoNotScaleUp
Ersetzen Sie Folgendes:
COMPUTECLASS_NAME
: ein Name für die ComputeClass.ZONE1,ZONE2
: Eine durch Kommas getrennte Liste von Zonen, in denen Knoten erstellt werden sollen, z. B.['us-central1-a','us-central1-b']
. Geben Sie Zonen an, die die Intel TDX Confidential Computing-Technologie unterstützen. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.
ComputeClass erstellen:
kubectl apply -f PATH_TO_MANIFEST
Ersetzen Sie
PATH_TO_MANIFEST
durch den Pfad zur ComputeClass-Manifestdatei.Wenn Sie Ihre GPU-Arbeitslast auf Confidential GKE Nodes ausführen möchten, wählen Sie die ComputeClass im Arbeitslastmanifest aus. Speichern Sie beispielsweise das folgende Bereitstellungsmanifest, in dem eine ComputeClass und GPUs ausgewählt werden, als YAML-Datei:
apiVersion: apps/v1 kind: Deployment metadata: name: confidential-gpu-deployment labels: app: conf-gpu spec: selector: matchLabels: app: conf-gpu replicas: 1 template: metadata: labels: app: conf-gpu spec: nodeSelector: cloud.google.com/compute-class: COMPUTECLASS_NAME containers: - name: example-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 resources: limits: cpu: "4" memory: "16Gi" nvidia.com/gpu: 1 requests: cpu: "4" memory: "16Gi"
Ersetzen Sie
COMPUTECLASS_NAME
durch den Namen der von Ihnen erstellten ComputeClass.Erstellen Sie das Deployment:
kubectl apply -f PATH_TO_DEPLOYMENT_MANIFEST
Ersetzen Sie
PATH_TO_DEPLOYMENT_MANIFEST
durch den Pfad zum Deployment-Manifest.
Wenn Sie Ihre GPU-Arbeitslast erstellen, verwendet GKE die Konfiguration in der ComputeClass, um Confidential GKE Nodes mit angehängten GPUs zu erstellen.
Confidential GKE Nodes in GKE Standard manuell konfigurieren
Sie können GPU-Arbeitslasten auf Confidential GKE Nodes in Clustern oder Knotenpools im Standardmodus ausführen. Für GPU-Arbeitslasten müssen Ihre Confidential GKE Nodes die Confidential Computing-Technologie Intel TDX verwenden.
Confidential GKE Nodes in neuen Standardclustern aktivieren
Sie können Confidential GKE Nodes für Ihren gesamten Standardcluster aktivieren, sodass jeder GPU-Knotenpool, den Sie erstellen, dieselbe Confidential Computing-Technologie verwendet. Wenn Sie einen neuen Cluster im Standardmodus erstellen, in dem Confidential GKE Nodes für GPU-Arbeitslasten verwendet werden, müssen Sie die folgenden Clustereinstellungen angeben:
- Standort: Eine Region oder Zone, die NVIDIA Confidential Computing unterstützt. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.
- Confidential Computing-Typ: Intel TDX
Clusterversion: Eine der folgenden Versionen, je nachdem, wie Sie Ihre GPU-Treiber installieren möchten:
- Manuelle GPU-Treiberinstallation: 1.32.2-gke.1297000 oder höher.
- Automatische Installation von GPU-Treibern: Version 1.33.3-gke.1392000 oder höher.
Sie können optional GPUs für den Standardknotenpool konfigurieren, den GKE in Ihrem Cluster erstellt. Wir empfehlen jedoch, einen separaten Knotenpool für Ihre GPUs zu verwenden, damit in mindestens einem Knotenpool im Cluster jede Arbeitslast ausgeführt werden kann.
Weitere Informationen finden Sie unter Confidential GKE Nodes in Standard-Clustern aktivieren.
Confidential GKE Nodes mit GPUs in Standardknotenpools verwenden
Wenn in Ihrem Cluster Confidential GKE Nodes nicht aktiviert ist, können Sie Confidential GKE Nodes in bestimmten neuen oder vorhandenen GPU-Knotenpools aktivieren. Die Steuerungsebene und die Knotenpools müssen die Anforderungen im Abschnitt Verfügbarkeit erfüllen. Wenn Sie den Knotenpool konfigurieren, können Sie auswählen, ob GPU-Treiber automatisch oder manuell installiert werden sollen.
Wählen Sie eine der folgenden Optionen aus, um einen neuen GPU-Knotenpool zu erstellen, der Confidential GKE Nodes verwendet:
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf:
Klicken Sie auf den Namen des Standardmodus-Clusters, den Sie ändern möchten.
Klicken Sie auf Knotenpool hinzufügen
. Die Seite Knotenpool hinzufügen wird geöffnet.Führen Sie im Bereich Knotenpooldetails die folgenden Schritte aus:
- Wählen Sie Knotenstandorte angeben aus.
- Wählen Sie nur die unterstützten Zonen aus, die im Abschnitt Verfügbarkeit aufgeführt sind.
- Die Version der Steuerungsebene muss eine der Versionen sein, die im Abschnitt Verfügbarkeit aufgeführt sind.
Klicken Sie im Navigationsmenü auf Knoten.
Führen Sie im Bereich Knoteneinstellungen konfigurieren die folgenden Schritte aus:
- Klicken Sie im Abschnitt Maschinenkonfiguration auf GPUs.
- Wählen Sie im Menü GPU-Typ die Option NVIDIA H100 80 GB aus.
- Wählen Sie im Menü Anzahl der GPUs die Option 1 aus.
- Achten Sie darauf, dass GPU-Freigabe aktivieren nicht ausgewählt ist.
Wählen Sie im Bereich GPU-Treiberinstallation eine der folgenden Optionen aus:
Von Google verwaltet: GKE installiert automatisch einen Treiber. Wenn Sie diese Option auswählen, wählen Sie in der Drop-down-Liste Version eine der folgenden Treiberversionen aus:
- Standard: Installieren Sie die Standardtreiberversion für die GKE-Version des Knotens. Erfordert GKE-Version 1.33.3-gke.1392000 oder höher.
- Latest: Installieren Sie die neueste Treiberversion für die GKE-Version des Knotens. Erfordert GKE-Version 1.33.3-gke.1392000 oder höher.
Vom Nutzer verwaltet: Automatische Treiberinstallation überspringen. Wenn Sie diese Option auswählen, müssen Sie einen kompatiblen GPU-Treiber manuell installieren. Erfordert 1.32.2-gke.1297000 oder höher.
Prüfen Sie im Abschnitt Maschinentyp, ob der Maschinentyp
a3-highgpu-1g
ist.Wählen Sie Knoten auf Spot-VMs aktivieren aus oder konfigurieren Sie Flex-Start-VMs mit in die Warteschlange gestellter Bereitstellung.
Wenn Sie bereit sind, den Knotenpool zu erstellen, klicken Sie auf Erstellen.
gcloud
Sie können GPU-Knotenpools erstellen, auf denen Confidential GKE Nodes auf Spot-VMs oder mit Flex-Start-VMs mit in die Warteschlange gestellter Bereitstellung ausgeführt werden.
Erstellen Sie einen GPU-Knotenpool, in dem Confidential GKE Nodes auf Spot-VMs ausgeführt werden:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --confidential-node-type=tdx --location=LOCATION \ --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \ --spot --accelerator=type=nvidia-h100-80gb,count=1,gpu-driver-version=DRIVER_VERSION \ --machine-type=a3-highgpu-1g
Ersetzen Sie Folgendes:
NODE_POOL_NAME
: Ein Name für den neuen Knotenpool.CLUSTER_NAME
ist der Name Ihres vorhandenen Clusters.LOCATION
: Der Standort für den neuen Knotenpool. Der Standort muss die Verwendung von GPUs in Confidential GKE Nodes unterstützen.NODE_LOCATION1,NODE_LOCATION2,...
: eine durch Kommas getrennte Liste von Zonen, in denen die Knoten ausgeführt werden sollen. Diese Zonen müssen die Verwendung von NVIDIA Confidential Computing unterstützen. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.DRIVER_VERSION
: die zu installierende GPU-Treiberversion. Geben Sie einen der folgenden Werte an:default
: Installieren Sie die Standardtreiberversion für die GKE-Version des Knotens. Erfordert GKE-Version 1.33.3-gke.1392000 oder höher.latest
: Installieren Sie die neueste Treiberversion für die GKE-Version des Knotens. Erfordert GKE-Version 1.33.3-gke.1392000 oder höher.disabled
: Automatische Treiberinstallation überspringen. Wenn Sie diesen Wert angeben, müssen Sie einen kompatiblen GPU-Treiber manuell installieren. Erfordert 1.32.2-gke.1297000 oder höher.
Erstellen Sie einen GPU-Knotenpool, in dem Confidential GKE Nodes ausgeführt werden, indem Sie Flex-Start-VMs mit in die Warteschlange gestellter Bereitstellung verwenden:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \ --machine-type=a3-highgpu-1g --confidential-node-type=tdx \ --location=LOCATION \ --flex-start --enable-queued-provisioning \ --enable-autoscaling --num-nodes=0 --total-max-nodes=TOTAL_MAX_NODES \ --location-policy=ANY --reservation-affinity=none --no-enable-autorepair \ --accelerator=type=nvidia-h100-80gb,count=1,gpu-driver-version=DRIVER_VERSION
Ersetzen Sie
TOTAL_MAX_NODES
durch die maximale Anzahl von Knoten, auf die der Knotenpool automatisch skaliert werden kann.Weitere Informationen zu den Konfigurationsoptionen für den flexiblen Start mit der Bereitstellung in der Warteschlange finden Sie unter Große Arbeitslast mit flexiblem Start und Bereitstellung in der Warteschlange ausführen.
Informationen zum Aktualisieren Ihrer vorhandenen Knotenpools für die Verwendung der Intel TDX Confidential Computing-Technologie finden Sie unter Vorhandenen Knotenpool aktualisieren.
GPU-Treiber manuell installieren, die Confidential GKE Nodes unterstützen
Wenn Sie beim Erstellen oder Aktualisieren Ihrer Knotenpools die automatische Treiberinstallation nicht aktiviert haben, müssen Sie manuell einen GPU-Treiber installieren, der vertrauliche GKE-Knoten unterstützt.
Für diese Änderung müssen die Knoten neu erstellt werden, was zu Unterbrechungen Ihrer laufenden Arbeitslasten führen kann. Details zu dieser spezifischen Änderung finden Sie in der entsprechenden Zeile in der Tabelle Manuelle Änderungen, die die Knoten mithilfe einer Knotenupgrade-Strategie neu erstellen, ohne Wartungsrichtlinien zu berücksichtigen. Weitere Informationen zu Knotenupdates finden Sie unter Unterbrechungen durch Knotenupdates planen.
Eine Anleitung finden Sie auf dem Tab „COS“ unter NVIDIA-GPU-Treiber manuell installieren.
Fehlerbehebung
Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung bei GPUs in GKE.
Nächste Schritte
- Prüfen, ob Ihre GPU-Knoten Confidential GKE Nodes verwenden
- Arbeitslast auf GPU-Knoten bereitstellen
- Informationen zu den Methoden zum Ausführen umfangreicher Arbeitslasten mit GPUs