Muchos clientes de GKE ejecutan cargas de trabajo de IA/AA a gran escala o poseen propiedad intelectual (PI) sensible, como pesos de modelos patentados. En este documento, se describe una arquitectura de infraestructura que ejecuta contenedores en instancias remotas que se pueden ejecutar en varias regiones y que administran los nodos de tu clúster. Esta infraestructura vinculada, incluidas las diversas imágenes y funciones del sistema operativo (SO), se denomina GKE Hypercluster.
GKE Hypercluster está diseñado para clientes que desean seguridad y escalabilidad más allá de los límites de GKE o AI Hypercomputer, y que están dispuestos a aceptar una mayor fricción operativa para alcanzar esos objetivos.
Cuándo usar GKE Hypercluster
De forma predeterminada, los clústeres de GKE están diseñados para satisfacer los requisitos de la mayoría de las cargas de trabajo de IA de producción, incluidas las que tienen requisitos especiales de seguridad y escalabilidad. Por ejemplo, GKE admite casos de uso como los siguientes:
- Ejecuta GPUs en nodos de Confidential Google Kubernetes Engine y accede a vTPMs o módulos de Confidential Computing basados en hardware desde tus cargas de trabajo.
- Usa Workload Identity Federation for GKE para restringir el acceso a datos encriptados a identidades autorizadas específicas.
- Implementa nodos de TPU y GPU según la capacidad disponible mediante ComputeClasses y la creación automática de grupos de nodos.
- Controla y observa cualquier acceso del personal de Google con la aprobación de acceso, la transparencia de acceso y la autoridad del plano de control de GKE.
La infraestructura vinculada en GKE Hypercluster está diseñada para casos de uso específicos de seguridad y escalabilidad que requieren capacidades que superan los límites existentes de la arquitectura típica de GKE. Por diseño, ciertas funciones, capacidades de solución de problemas y observabilidad de GKE no están disponibles para la infraestructura vinculada. Esta infraestructura modifica la arquitectura típica del clúster de GKE para satisfacer los siguientes casos de uso especializados:
Protege los modelos y las consultas de amenazas internas: Evita el acceso a los pesos de modelos patentados o a las consultas y respuestas de inferencia sensibles de tus propios administradores de la plataforma y del personal de Google. Los recursos de IA solo se desencriptan en entornos atestiguados y verificables.
Ejecuta cargas de trabajo de IA en varias regiones: Implementa cargas de trabajo a una escala que supere los límites de escalamiento de nodos admitidos. Crea y usa infraestructura de aceleradores en cualquier región que tenga capacidad disponible, incluidas las ubicaciones fuera de la región o zona del clúster.
Cómo funciona
Como se describe en Arquitectura del clúster de GKE, un
clúster de modo Estándar tiene un plano de control regional o zonal que entrega
la API de Kubernetes y administra todos los nodos y grupos de nodos del clúster.
Todos los nodos de un clúster usan una red de VPC específica, que también pueden ser
usados por otros Google Cloud recursos. Cada nodo de GKE ejecuta varios componentes del sistema, como agentes de nodos kubelet, agentes de Logging y métricas, y otros componentes de Kubernetes y GKE.
Por el contrario, GKE Hypercluster usa instancias llamadas ejecutores vinculados que no están registradas como objetos Node en el servidor de la API de Kubernetes. Estas instancias tienen las siguientes propiedades:
- No hay agentes de Kubernetes y un conjunto mínimo de componentes de GKE.
- Imágenes de SO especializadas según el caso de uso. No hay imágenes de nodos de GKE.
- Las instancias usan una red de VPC independiente y dedicada.
Los ejecutores vinculados se administran mediante nodos de control en el clúster que vinculan el ejecutor con el clúster. Los nodos de control ejecutan componentes del sistema, como los procesos kubelet. Un solo nodo de control se puede vincular con varios ejecutores. Estos ejecutores vinculados están diseñados para ejecutar cargas de trabajo a gran escala, como un trabajo de entrenamiento que requiere más potencia de la que puede proporcionar el centro de datos en la región de tu clúster.
Durante la configuración de la infraestructura, creas ejecutores con una configuración específica según tu caso de uso y, luego, vinculas las instancias a nodos de control dedicados en tu clúster. La API de Kubernetes solo necesita administrar los nodos de control, ya que las instancias del ejecutor vinculado no tienen un kubelet y no generan tráfico del servidor de la API. Cuando creas tus instancias del ejecutor vinculado, puedes configurarlas de una de las siguientes maneras:
- **Configuración predeterminada**: De forma predeterminada, las instancias vinculadas son VMs de Compute Engine que ejecutan una imagen de Container-Optimized OS. Los administradores de la plataforma y el personal de emergencia, como los SRE, pueden acceder a las instancias mediante SSH. Estas instancias funcionan bien cuando deseas mantener el acceso de administrador a la infraestructura.
- Configuración sellada: Algunas cargas de trabajo de IA procesan datos sensibles, como pesos de modelos patentados y consultas encriptadas. En situaciones en las que necesitas proteger tus recursos de IA de todo acceso, incluido el personal de Google y tus propios administradores, puedes configurar tus instancias del ejecutor vinculado en modo sellado. Estas instancias selladas tienen las siguientes propiedades:
- Usa una imagen de SO mínima.
- Usa el enclave de Titanium Intelligence para las TPU y NVIDIA Confidential Computing para las GPUs.
- Realiza la atestación a nivel de la carga de trabajo y del firmware.
- Valida las firmas de imágenes de contenedor.
- Evita todo acceso administrativo a instancias y contenedores.
Independientemente de la configuración que uses, las instancias no incluyen muchos de los componentes y funciones que se incluyen en los nodos de GKE, como los parámetros de ejecución de TPU específicos de GKE o los agentes de Logging y supervisión de GKE.
Acerca de la configuración predeterminada
De forma predeterminada, las instancias que creas para GKE Hypercluster están diseñadas para ejecutar cargas de trabajo de producción y, al mismo tiempo, proporcionar mecanismos similares a los nodos típicos de GKE para la solución de problemas y la respuesta ante emergencias. Las instancias se ejecutan en tipos de máquinas de Compute Engine y usan una imagen de Container-Optimized OS. Durante incidentes como interrupciones o fallas, tus administradores pueden acceder directamente a las instancias para solucionar problemas. A diferencia de los nodos de Kubernetes, las instancias no ejecutan muchos de los componentes del sistema que habilitan las funciones de Kubernetes y GKE, lo que genera más recursos asignables en cada instancia.
Puedes crear instancias en cualquier Google Cloud región y, luego, vincular esas instancias a nodos de control en tu clúster. Los nodos de control realizan muchas de las funciones del plano de control de Kubernetes y administran el ciclo de vida de las cargas de trabajo implementadas.
Acerca de la configuración sellada
Si tu caso de uso principal es proteger tus recursos de todo acceso, puedes configurar tus ejecutores vinculados para que usen una configuración sellada, lo que genera instancias que tienen las siguientes propiedades de seguridad:
- Cada instancia es un entorno de ejecución confiable (TEE) que se basa en tecnologías específicas:
- Las TPU usan el enclave de Titanium Intelligence, que forma parte de la plataforma de Private AI Compute.
- Las GPUs usan NVIDIA Confidential Computing para proteger los datos mientras están en uso.
- Las instancias ejecutan una imagen de SO mínima, basada en Container-Optimized OS, que inhabilita el acceso SSH, evita el acceso al shell del contenedor y ejecuta un agente de certificación.
- Defines una política que especifica exactamente qué cargas de trabajo se pueden ejecutar en las instancias. Por ejemplo, puedes requerir que las cargas de trabajo usen resúmenes de imágenes de contenedor firmados o que tengan una especificación de Pod específica.
- Un agente de atestación envía mediciones de firmware y cargas de trabajo a Google Cloud Attestation y muestra tokens de resultados de reclamos de atestación verificables.
Las instancias resultantes proporcionan entornos restringidos y validados en los que solo se puede ejecutar código aprobado y los datos sensibles se procesan en enclaves seguros basados en hardware. La información de certificación que muestran las instancias verifica que las cargas de trabajo ejecuten código aprobado y se implementen en las instancias correctas.
Puedes usar estas instancias selladas para proteger tus modelos, consultas y respuestas encriptados de las siguientes maneras:
Pesos del modelo:
- Encripta los pesos del modelo con una clave de Cloud HSM en Cloud KMS.
- Almacena los pesos del modelo encriptados en Cloud Storage.
- Otorga acceso de lectura al bucket solo a las cargas de trabajo atestiguadas.
- Otorga acceso a la clave de desencriptación solo a las cargas de trabajo atestiguadas.
Consultas y respuestas:
- Encripta las consultas y respuestas con una clave de Cloud HSM en Cloud KMS.
- Otorga acceso de desencriptación solo a las cargas de trabajo atestiguadas.
- Exige una prueba de atestación cuando envíes datos encriptados entre cargas de trabajo.
La configuración sellada es una capa de seguridad opcional para tus instancias del ejecutor vinculado. Al igual que la configuración predeterminada, puedes crear las instancias selladas en cualquier región y zona. Sin embargo, las propiedades de seguridad de las instancias selladas significan que los administradores y el personal de Google no pueden acceder a las instancias de host para solucionar problemas.
Elegibilidad
GKE Hypercluster está diseñado para casos de uso específicos de IA/AA que no se pueden satisfacer con la arquitectura y las funciones típicas del clúster de GKE. Los clientes que usan GKE Hypercluster tienen requisitos atípicos de seguridad y escalabilidad. GKE Hypercluster solo está disponible para clientes de GKE que cumplen con los requisitos. Para verificar si cumples con los requisitos y solicitar acceso, comunícate con tu equipo de cuentas exclusivo.