Puedes encriptar los datos en uso de cargas de trabajo de GPU ejecutando las cargas de trabajo en Confidential Google Kubernetes Engine Nodes encriptados. En esta página, se muestra a los ingenieros y operadores de seguridad cómo mejorar la seguridad de los datos en cargas de trabajo aceleradas, como las tareas de IA/AA. Debes conocer los siguientes conceptos:
Acerca de la ejecución de cargas de trabajo de GPU en Confidential GKE Nodes
Puedes solicitar Confidential GKE Nodes para tus cargas de trabajo de GPU con uno de los siguientes métodos:
- Aprovisiona automáticamente Confidential GKE Nodes para tus cargas de trabajo de GPU con ComputeClasses de GKE. Puedes usar este método en clústeres de Autopilot y en clústeres de Standard. Para obtener más información, consulta la sección Usa ComputeClasses para ejecutar cargas de trabajo de GPU en Confidential GKE Nodes.
- Configura manualmente Confidential GKE Nodes para tus clústeres o grupos de nodos de Standard. Para obtener más información, consulta la sección Configura manualmente los nodos de GKE confidenciales en GKE Standard.
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si quieres usar Google Cloud CLI para esta tarea,
instala y, luego,
inicializa
gcloud CLI. Si ya instalaste gcloud CLI, ejecuta
gcloud components update
para obtener la versión más reciente.
Requisitos y limitaciones
Independientemente del método de configuración de Confidential GKE Nodes que elijas, debes cumplir con todos los siguientes requisitos:
- Los nodos deben estar en una zona que admita la función de Confidential Computing de NVIDIA. Para obtener más información, consulta Cómo ver las zonas admitidas.
- Los nodos deben usar solo una GPU NVIDIA H100 de 80 GB y el tipo de máquina
a3-highgpu-1g
. - Los nodos deben usar la tecnología de Confidential Computing de Intel TDX.
- Debes tener cuota para las GPU H100 de 80 GB interrumpibles (
compute.googleapis.com/preemptible_nvidia_h100_gpus
) en las ubicaciones de tus nodos. Para obtener más información sobre cómo administrar tu cuota, consulta Visualiza y administra cuotas.
Además de estos requisitos, debes cumplir con condiciones específicas según el método de configuración de Confidential GKE Nodes que elijas, como se describe en la siguiente tabla:
Método de configuración | Requisitos | Limitaciones |
---|---|---|
ComputeClasses |
|
|
Configuración manual en el modo estándar |
|
|
Roles requeridos
Para obtener los permisos que necesitas para crear nodos de GKE confidenciales, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto Google Cloud :
-
Crea Confidential GKE Nodes:
Administrador de clústeres de Kubernetes Engine (
roles/container.clusterAdmin
) -
Implementa cargas de trabajo de GPU:
Desarrollador de Kubernetes Engine (
roles/container.developer
)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Usa ComputeClasses para ejecutar cargas de trabajo confidenciales de GPU
Puedes definir la configuración de tus Confidential GKE Nodes en un objeto ComputeClass. Las ComputeClasses son recursos personalizados de Kubernetes que te permiten establecer de forma declarativa la configuración de los nodos para el ajuste de escala automático y la programación de GKE. Puedes seguir los pasos de esta sección en cualquier clúster de Autopilot o Standard que ejecute la versión 1.33.3-gke.1392000 o posterior de GKE.
Para usar una ComputeClass y ejecutar cargas de trabajo de GPU en Confidential GKE Nodes, sigue estos pasos:
Guarda el siguiente manifiesto de ComputeClass como un archivo 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: DoNotScaleUp
Reemplaza lo siguiente:
COMPUTECLASS_NAME
: Es un nombre para la ComputeClass.ZONE1,ZONE2
: Es una lista separada por comas de zonas en las que se crearán nodos, como['us-central1-a','us-central1-b']
. Especifica las zonas que admiten la tecnología de Confidential Computing de Intel TDX. Para obtener más información, consulta Cómo ver las zonas admitidas.
Crea la ComputeClass:
kubectl apply -f PATH_TO_MANIFEST
Reemplaza
PATH_TO_MANIFEST
por la ruta de acceso al archivo de manifiesto de ComputeClass.Para ejecutar tu carga de trabajo de GPU en Confidential GKE Nodes, selecciona ComputeClass en el manifiesto de la carga de trabajo. Por ejemplo, guarda el siguiente manifiesto de Deployment, que selecciona una ComputeClass y GPUs, como un archivo 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"
Reemplaza
COMPUTECLASS_NAME
por el nombre de la clase de procesamiento que creaste.Crea el Deployment:
kubectl apply -f PATH_TO_DEPLOYMENT_MANIFEST
Reemplaza
PATH_TO_DEPLOYMENT_MANIFEST
por la ruta de acceso al manifiesto de Deployment.
Cuando creas tu carga de trabajo de GPU, GKE usa la configuración de ComputeClass para crear Confidential GKE Nodes con GPUs adjuntas.
Configura manualmente Confidential GKE Nodes en GKE Standard
Puedes ejecutar cargas de trabajo de GPU en Confidential GKE Nodes en clústeres o grupos de nodos en modo Standard. Para las cargas de trabajo de GPU, tus Confidential GKE Nodes deben usar la tecnología de Confidential Computing de Intel TDX.
Habilita los Confidential GKE Nodes en clústeres Standard nuevos
Puedes habilitar Confidential GKE Nodes para todo tu clúster estándar, de modo que cada grupo de nodos con GPU que crees use la misma tecnología de Confidential Computing. Cuando crees un clúster nuevo en modo estándar que use Confidential GKE Nodes para cargas de trabajo de GPU, asegúrate de especificar la siguiente configuración del clúster:
- Ubicación: Es una región o una zona que admite la computación confidencial de NVIDIA. Para obtener más información, consulta Cómo ver las zonas admitidas.
- Tipo de Confidential Computing: Intel TDX
Versión del clúster: Una de las siguientes versiones, según cómo desees instalar los controladores de GPU:
- Instalación manual del controlador de GPU: 1.32.2-gke.1297000 o posterior
- Instalación automática del controlador de GPU: 1.33.3-gke.1392000 o posterior
De forma opcional, puedes configurar GPUs para el grupo de nodos predeterminado que GKE crea en tu clúster. Sin embargo, te recomendamos que uses un grupo de nodos independiente para tus GPUs, de modo que al menos un grupo de nodos del clúster pueda ejecutar cualquier carga de trabajo.
Para obtener más información, consulta Habilita Confidential GKE Nodes en clústeres estándar.
Usa Confidential GKE Nodes con GPUs en grupos de nodos de Standard
Si tu clúster no tiene habilitados los Confidential GKE Nodes, puedes habilitarlos en grupos de nodos de GPU específicos, ya sean nuevos o existentes. El plano de control y los grupos de nodos deben cumplir con los requisitos de la sección Disponibilidad. Cuando configures el grupo de nodos, puedes optar por instalar los controladores de GPU de forma automática o manual.
Para crear un grupo de nodos de GPU nuevo que use Confidential GKE Nodes, selecciona una de las siguientes opciones:
Console
En la consola de Google Cloud , accede a la página de los clústeres de Kubernetes.
Haz clic en el nombre del clúster en modo estándar que deseas modificar.
Haz clic en
Agregar grupo de nodos. Se abrirá la página Agregar un grupo de nodos.En el panel Detalles del grupo de nodos, haz lo siguiente:
- Selecciona Especificar ubicaciones de nodos.
- Selecciona solo las zonas admitidas que se indican en la sección Disponibilidad.
- Asegúrate de que la versión del plano de control sea una de las versiones que se indican en la sección Disponibilidad.
En el menú de navegación, haz clic en Nodos.
En el panel Configurar parámetros del nodo, haz lo siguiente:
- En la sección Configuración de la máquina, haz clic en GPUs.
- En el menú Tipo de GPU, selecciona NVIDIA H100 80 GB.
- En el menú Cantidad de GPU, selecciona 1.
- Asegúrate de que la opción Habilitar el uso compartido de la GPU no esté seleccionada.
En la sección GPU Driver installation, selecciona una de las siguientes opciones:
Administrada por Google: GKE instala un controlador de forma automática. Si seleccionas esta opción, en la lista desplegable Versión, selecciona una de las siguientes versiones del controlador:
- Predeterminada: Instala la versión predeterminada del controlador para la versión de GKE del nodo. Se requiere la versión 1.33.3-gke.1392000 o posterior de GKE.
- Más reciente: Instala la versión más reciente del controlador para la versión de GKE del nodo. Se requiere la versión 1.33.3-gke.1392000 o posterior de GKE.
Administrada por el usuario: Omite la instalación automática del controlador. Si seleccionas esta opción, debes instalar manualmente un controlador de GPU compatible. Se requiere la versión 1.32.2-gke.1297000 o posterior.
En la sección Tipo de máquina, asegúrate de que el tipo de máquina sea
a3-highgpu-1g
.Selecciona Habilitar nodos en VMs Spot o configura el inicio flexible con aprovisionamiento en cola.
Cuando esté todo listo para crear el grupo de nodos, haz clic en Crear.
gcloud
Puedes crear grupos de nodos de GPU que ejecuten Confidential GKE Nodes en VMs Spot o con flex-start con aprovisionamiento en cola.
Crea un grupo de nodos de GPU que ejecute nodos confidenciales de GKE en VMs 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-1g
Reemplaza lo siguiente:
NODE_POOL_NAME
: Es el nombre de tu grupo de nodos nuevo.CLUSTER_NAME
: Es el nombre del clúster existente.LOCATION
: Es la ubicación de tu grupo de nodos nuevo. La ubicación debe admitir el uso de GPUs en Confidential GKE Nodes.NODE_LOCATION1,NODE_LOCATION2,...
: Es una lista de zonas separadas por comas en las que se ejecutarán los nodos. Estas zonas deben admitir el uso de Confidential Computing de NVIDIA. Para obtener más información, consulta Cómo ver las zonas admitidas.DRIVER_VERSION
: Es la versión del controlador de GPU que se instalará. Especifica uno de los siguientes valores:default
: Instala la versión predeterminada del controlador para la versión de GKE del nodo. Se requiere la versión 1.33.3-gke.1392000 o posterior de GKE.latest
: Instala la versión más reciente del controlador para la versión de GKE del nodo. Se requiere la versión 1.33.3-gke.1392000 o posterior de GKE.disabled
: Omite la instalación automática del controlador. Si especificas este valor, debes instalar un controlador de GPU compatible de forma manual. Se requiere la versión 1.32.2-gke.1297000 o posterior.
Crea un grupo de nodos de GPU que ejecute Confidential GKE Nodes con flex-start y aprovisionamiento en cola:
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
Reemplaza
TOTAL_MAX_NODES
por la cantidad máxima de nodos a la que el grupo de nodos puede escalar automáticamente.Para obtener más información sobre las opciones de configuración en el inicio flexible con aprovisionamiento en cola, consulta Ejecuta una carga de trabajo a gran escala con el inicio flexible con aprovisionamiento en cola.
Para actualizar tus grupos de nodos existentes para que usen la tecnología de Confidential Computing de Intel TDX, consulta Actualiza un grupo de nodos existente.
Instala manualmente los controladores de GPU que admiten Confidential GKE Nodes
Si no habilitaste la instalación automática de controladores cuando creaste o actualizaste tus grupos de nodos, debes instalar de forma manual un controlador de GPU que admita los nodos confidenciales de GKE.
Este cambio requiere volver a crear los nodos, lo que puede causar interrupciones en tus cargas de trabajo en ejecución. Para obtener detalles sobre este cambio específico, busca la fila correspondiente en la tabla de cambios manuales que recrean los nodos con una estrategia de actualización de nodos sin respetar las políticas de mantenimiento. Para obtener más información sobre las actualizaciones de nodos, consulta Planificación de interrupciones por actualizaciones de nodos.
Para obtener instrucciones, consulta la pestaña "COS" en Instala controladores de GPU de NVIDIA de forma manual.
Solucionar problemas
Para obtener información sobre la solución de problemas, consulta Soluciona problemas de las GPUs en GKE.
¿Qué sigue?
- Verifica que tus nodos de GPU usen Confidential GKE Node
- Implementa una carga de trabajo en tus nodos de GPU
- Obtén información sobre los métodos para ejecutar cargas de trabajo a gran escala con GPUs