Puoi criptare i dati in uso dei carichi di lavoro GPU eseguendoli su Confidential Google Kubernetes Engine Nodes criptati. Questa pagina mostra agli ingegneri della sicurezza e agli operatori come migliorare la sicurezza dei dati nei carichi di lavoro accelerati, come le attività di AI/ML. Dovresti avere familiarità con i seguenti concetti:
Informazioni sull'esecuzione di carichi di lavoro GPU su Confidential GKE Nodes
Puoi richiedere Confidential GKE Nodes per i tuoi carichi di lavoro GPU utilizzando uno dei seguenti metodi:
- Esegui il provisioning automatico di Confidential GKE Nodes per i tuoi carichi di lavoro GPU utilizzando le ComputeClasses di GKE. Puoi utilizzare questo metodo nei cluster Autopilot e nei cluster Standard. Per saperne di più, consulta la sezione Utilizzare ComputeClass per eseguire carichi di lavoro GPU su Confidential GKE Nodes.
- Configura manualmente Confidential GKE Nodes per i tuoi cluster o node pool Standard. Per saperne di più, consulta la sezione Configurare manualmente Confidential GKE Nodes in GKE Standard.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Abilita l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima
versione eseguendo il
gcloud components updatecomando. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
Requisiti e limitazioni
Indipendentemente dal metodo di configurazione di Confidential GKE Nodes che scegli, devi soddisfare tutti i seguenti requisiti:
- I nodi devono trovarsi in una zona che supporta NVIDIA Confidential Computing. Per saperne di più, consulta Visualizzare le zone supportate.
- I nodi devono utilizzare una sola GPU NVIDIA H100 da 80 GB e il tipo di macchina
a3-highgpu-1g. - I nodi devono utilizzare la tecnologia Confidential Computing Intel TDX.
- Devi avere una quota per le GPU H100 da 80 GB prerilasciabili (
compute.googleapis.com/preemptible_nvidia_h100_gpus) nelle località dei nodi. Per saperne di più sulla gestione della quota, consulta Visualizzare e gestire le quote.
Oltre a questi requisiti, devi soddisfare condizioni specifiche a seconda del metodo di configurazione di Confidential GKE Nodes che scegli, come descritto nella tabella seguente:
| Metodo di configurazione | Requisiti | Limitazioni |
|---|---|---|
| ComputeClasses |
|
|
| Configurazione manuale in modalità Standard |
|
|
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare Confidential GKE Nodes, chiedi all'amministratore di concederti i seguenti ruoli IAM per il Google Cloud progetto:
-
Crea Confidential GKE Nodes:
amministratore del cluster Kubernetes Engine (
roles/container.clusterAdmin) -
Esegui il deployment dei carichi di lavoro GPU:
sviluppatore Kubernetes Engine (
roles/container.developer)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Utilizzare ComputeClass per eseguire carichi di lavoro GPU riservati
Puoi definire la configurazione di Confidential GKE Nodes in una ComputeClass. Le ComputeClass sono risorse personalizzate di Kubernetes che ti consentono di impostare in modo dichiarativo le configurazioni dei nodi per la scalabilità automatica e la pianificazione di GKE. Puoi seguire i passaggi descritti in questa sezione in qualsiasi cluster Autopilot o Standard che esegue GKE versione 1.33.3-gke.1392000 o successive.
Per utilizzare una ComputeClass per eseguire carichi di lavoro GPU su Confidential GKE Nodes:
Salva il seguente manifest di ComputeClass come file YAML:
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: DoNotScaleUpSostituisci quanto segue:
COMPUTECLASS_NAME: un nome per la ComputeClass.ZONE1,ZONE2: un elenco separato da virgole di zone in cui creare i nodi, ad esempio['us-central1-a','us-central1-b']. Specifica le zone che supportano la tecnologia Confidential Computing Intel TDX. Per saperne di più, consulta Visualizzare le zone supportate.
Crea la ComputeClass:
kubectl apply -f PATH_TO_MANIFESTSostituisci
PATH_TO_MANIFESTcon il percorso del file manifest di ComputeClass.Per eseguire il carico di lavoro GPU su Confidential GKE Nodes, seleziona la ComputeClass nel manifest del carico di lavoro. Ad esempio, salva il seguente manifest di Deployment, che seleziona una ComputeClass e le GPU, come file YAML:
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"Sostituisci
COMPUTECLASS_NAMEcon il nome della ComputeClass che hai creato.Crea il deployment:
kubectl apply -f PATH_TO_DEPLOYMENT_MANIFESTSostituisci
PATH_TO_DEPLOYMENT_MANIFESTcon il percorso del manifest di Deployment.
Quando crei il carico di lavoro GPU, GKE utilizza la configurazione in ComputeClass per creare Confidential GKE Nodes con GPU collegate.
Configurare manualmente Confidential GKE Nodes in GKE Standard
Puoi eseguire carichi di lavoro GPU su Confidential GKE Nodes in cluster o node pool in modalità Standard. Per i carichi di lavoro GPU, Confidential GKE Nodes deve utilizzare la tecnologia Confidential Computing Intel TDX.
Abilitare Confidential GKE Nodes nei nuovi cluster Standard
Puoi abilitare Confidential GKE Nodes per l'intero cluster Standard, in modo che ogni pool di nodi GPU che crei utilizzi la stessa tecnologia Confidential Computing. Quando crei un nuovo cluster in modalità Standard che utilizza Confidential GKE Nodes per i carichi di lavoro GPU, assicurati di specificare le seguenti impostazioni del cluster:
- Località: una regione o una zona che supporta NVIDIA Confidential Computing. Per saperne di più, consulta Visualizzare le zone supportate.
- Tipo di Confidential Computing: Intel TDX
Versione del cluster: una delle seguenti versioni, a seconda di come vuoi installare i driver GPU:
- Installazione manuale del driver GPU: 1.32.2-gke.1297000 o successive.
- Installazione automatica del driver GPU: 1.33.3-gke.1392000 o successive.
Facoltativamente, puoi configurare le GPU per il pool di nodi predefinito creato da GKE nel cluster. Tuttavia, ti consigliamo di utilizzare un pool di nodi separato per le GPU, in modo che almeno un pool di nodi nel cluster possa eseguire qualsiasi carico di lavoro.
Per saperne di più, consulta Abilitare Confidential GKE Nodes sui cluster Standard.
Utilizzare Confidential GKE Nodes con GPU nei node pool Standard
Se Confidential GKE Nodes non è abilitato nel cluster, puoi abilitarlo in node pool GPU nuovi o esistenti specifici. Il control plane e i node pool devono soddisfare i requisiti indicati nella sezione Disponibilità. Quando configuri il pool di nodi, puoi scegliere di installare i driver GPU automaticamente o manualmente.
Per creare un nuovo pool di nodi GPU che utilizza Confidential GKE Nodes, seleziona una delle seguenti opzioni:
Console
Nella Google Cloud console, vai alla pagina Cluster Kubernetes:
Fai clic sul nome del cluster in modalità Standard da modificare.
Fai clic sulla scheda Nodi.
Fai clic su Crea node pool gestito dall'utente. Si apre la pagina Aggiungi un node pool.
Nel riquadro Dettagli del node pool, procedi nel seguente modo:
- Seleziona Specifica le località dei nodi.
- Seleziona solo le zone supportate elencate nella sezione Disponibilità.
- Assicurati che la versione del control plane sia una delle versioni elencate nella sezione Disponibilità.
Nel menu di navigazione, fai clic su Nodi.
Nel riquadro Configura le impostazioni dei nodi, procedi nel seguente modo:
- Nella sezione Configurazione della macchina, fai clic su GPU.
- Nel menu Tipo di GPU, seleziona NVIDIA H100 da 80 GB.
- Nel menu Numero di GPU, seleziona 1.
- Assicurati che l'opzione Abilita condivisione GPU non sia selezionata.
Nella sezione Installazione del driver GPU, seleziona una delle seguenti opzioni:
Gestito da Google: GKE installa automaticamente un driver. Se selezioni questa opzione, nell'elenco a discesa Versione, seleziona una delle seguenti versioni del driver:
- Predefinita: installa la versione del driver predefinita per la versione GKE del nodo. Richiede GKE versione 1.33.3-gke.1392000 o successive.
- Più recente: installa la versione del driver più recente per la versione GKE del nodo. Richiede GKE versione 1.33.3-gke.1392000 o successive.
Gestito dall'utente: salta l'installazione automatica del driver. Se selezioni questa opzione, devi installare manualmente un driver GPU compatibile. Richiede la versione 1.32.2-gke.1297000 o successive.
Nella sezione Tipo di macchina, assicurati che il tipo di macchina sia
a3-highgpu-1g.Seleziona Abilita nodi sulle VM spot o configura le VM con avvio flessibile con provisioning in coda.
Quando è tutto pronto per creare il pool di nodi, fai clic su Crea.
gcloud
Puoi creare node pool GPU che eseguono Confidential GKE Nodes su VM spot o utilizzando le VM con avvio flessibile con provisioning in coda.
Crea un pool di nodi GPU che esegue Confidential GKE Nodes su VM spot:
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-1gSostituisci quanto segue:
NODE_POOL_NAME: un nome per il nuovo pool di nodi.CLUSTER_NAME: il nome del cluster esistente.LOCATION: la località del nuovo pool di nodi. La località deve supportare l'utilizzo delle GPU in Confidential GKE Nodes.NODE_LOCATION1,NODE_LOCATION2,...: un elenco di zone separate da virgole in cui eseguire i nodi. Queste zone devono supportare l'utilizzo di NVIDIA Confidential Computing. Per saperne di più, consulta Visualizzare le zone supportate.DRIVER_VERSION: la versione del driver GPU da installare. Specifica uno dei seguenti valori:default: installa la versione del driver predefinita per la versione GKE del nodo. Richiede GKE versione 1.33.3-gke.1392000 o successive.latest: installa la versione del driver più recente per la versione GKE del nodo. Richiede GKE versione 1.33.3-gke.1392000 o successive.disabled: salta l'installazione automatica del driver. Se specifichi questo valore, devi installare manualmente un driver GPU compatibile. Richiede la versione 1.32.2-gke.1297000 o successive.
Crea un pool di nodi GPU che esegue Confidential GKE Nodes utilizzando le VM con avvio flessibile con provisioning in coda:
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_VERSIONSostituisci
TOTAL_MAX_NODEScon il numero massimo di nodi a cui il pool di nodi può scalare automaticamente.Per saperne di più sulle opzioni di configurazione dell'avvio flessibile con provisioning in coda, consulta Eseguire un carico di lavoro su larga scala con l'avvio flessibile con provisioning in coda.
Per aggiornare i node pool esistenti in modo che utilizzino la tecnologia Confidential Computing Intel TDX, consulta Aggiornare un node pool esistente.
Installare manualmente i driver GPU che supportano Confidential GKE Nodes
Se non hai abilitato l'installazione automatica dei driver quando hai creato o aggiornato i node pool, devi installare manualmente un driver GPU che supporti Confidential GKE Nodes.
Questa modifica richiede la ricreazione dei nodi, che può causare interruzioni dei carichi di lavoro in esecuzione. Per informazioni dettagliate su questa modifica specifica, trova la riga corrispondente nella tabella delle modifiche manuali che ricreano i nodi utilizzando una strategia di upgrade dei nodi senza rispettare le policy di manutenzione. Per saperne di più sugli aggiornamenti dei nodi, consulta Pianificare le interruzioni degli aggiornamenti dei nodi.
Per le istruzioni, consulta la scheda "COS" in Installare manualmente i driver GPU NVIDIA.
Risoluzione dei problemi
Per informazioni sulla risoluzione dei problemi, consulta Risolvere i problemi relativi alle GPU in GKE.
Passaggi successivi
- Verificare che i nodi GPU utilizzino Confidential GKE Nodes
- Eseguire il deployment di un carico di lavoro sui nodi GPU
- Scopri di più sui metodi per eseguire carichi di lavoro su larga scala con le GPU