Acerca de GKE Hypercluster

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 pueden ejecutarse en varias regiones y que se administran con nodos en tu clúster. Esta infraestructura vinculada, que incluye las diversas imágenes de SO y funciones del sistema operativo (SO), se denomina GKE Hypercluster.

GKE Hypercluster está destinado a clientes que desean seguridad y escalabilidad más allá de los límites de GKE o AI Hypercomputer, y están dispuestos a aceptar una mayor fricción operativa para lograr esos objetivos.

Cuándo usar el hiperclúster de GKE

De forma predeterminada, los clústeres de GKE están diseñados para cumplir con los requisitos de la mayoría de las cargas de trabajo de IA de producción, incluidas las cargas de trabajo que tienen requisitos especiales de seguridad y escalabilidad. Por ejemplo, GKE admite casos de uso como los siguientes:

  • Ejecuta GPUs en Confidential Google Kubernetes Engine Nodes y accede a vTPM 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 los datos encriptados a identidades autorizadas específicas.
  • Implementa nodos de TPU y GPU según la capacidad disponible con ComputeClasses y la creación automática de grupos de nodos.
  • Controla y observa el 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 van más allá de 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 búsquedas de amenazas internas: Evita el acceso a los pesos de modelos propietarios o a las búsquedas y respuestas de inferencia sensibles por parte de los administradores de tu propia plataforma y el personal de Google. Los recursos de IA solo se descifran en entornos verificables y certificados.

  • 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 la infraestructura de aceleradores en cualquier región que tenga capacidad disponible, incluso en ubicaciones fuera de la región o zona del clúster.

Cómo funciona

Como se describe en la arquitectura del clúster de GKE, un clúster en 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 usar otros recursos de Google Cloud . Cada nodo de GKE ejecuta varios componentes del sistema, como agentes de nodos kubelet, agentes de registro y métricas, y otros componentes de Kubernetes y GKE.

En cambio, GKE Hypercluster usa instancias llamadas ejecutores vinculados que no se registran como objetos Node en el servidor de la API de Kubernetes. Estas instancias tienen las siguientes propiedades:

  • No hay agentes de Kubernetes y hay 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 a través de 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 de kubelet. Un solo nodo de control puede vincularse 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 de la región del 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 de ejecutor vinculadas no tienen un kubelet y no generan tráfico del servidor de la API. Cuando creas tus instancias de ejecutores vinculados, 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 ingenieros de confiabilidad del sitio (SRE), pueden acceder a las instancias con SSH. Estas instancias son útiles 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 propietarios y consultas encriptadas. En situaciones en las que necesitas proteger tus recursos de IA de todo acceso, incluido el del personal de Google y tus propios administradores, puedes configurar tus instancias de ejecutor vinculadas en el 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 Confidential Computing de NVIDIA para las GPU.
    • Realizar certificaciones a nivel de la carga de trabajo y del firmware
    • Validar las firmas de las imágenes de contenedor
    • Impedir todo acceso de administrador a instancias y contenedores.

Independientemente de la configuración que uses, las instancias no incluyen muchos de los componentes y las funciones que se incluyen en los nodos de GKE, como los parámetros de entorno de ejecución de TPU específicos de GKE o los agentes de registro y supervisión de GKE.

Acerca de la configuración predeterminada

De forma predeterminada, las instancias que creas para el hiperclúster de GKE están diseñadas para ejecutar cargas de trabajo de producción y, al mismo tiempo, proporcionar mecanismos similares a los nodos de GKE típicos para solucionar problemas y responder 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, los 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 región de Google Cloud y, luego, vincular esas instancias a los nodos de control de tu clúster. Los nodos de control realizan muchas de las funciones del plano de control de Kubernetes, ya que 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 acceso ilimitado, 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) basado en tecnologías específicas:
  • Las instancias ejecutan una imagen de SO mínima, basada en Container-Optimized OS, que inhabilita el acceso SSH, evita el acceso a la shell del contenedor y ejecuta un agente de certificación.
  • Debes definir una política que especifique con exactitud qué cargas de trabajo se pueden ejecutar en las instancias. Por ejemplo, puedes exigir que las cargas de trabajo usen resúmenes de imágenes de contenedor firmados o que tengan una especificación de Pod determinada.
  • Un agente de certificación envía mediciones de firmware y cargas de trabajo a Google Cloud Attestation y devuelve tokens de resultados de reclamaciones de certificació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 devuelven 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:

    1. Encripta los pesos del modelo con una clave de Cloud HSM en Cloud KMS.
    2. Almacena las ponderaciones del modelo encriptadas en Cloud Storage.
    3. Otorga acceso de lectura al bucket solo a las cargas de trabajo certificadas.
    4. Otorga acceso a la clave de desencriptación solo a las cargas de trabajo certificadas.
  • Consultas y respuestas:

    1. Encriptar las respuestas y las consultas con una clave de Cloud HSM en Cloud KMS
    2. Otorga acceso de desencriptación solo a las cargas de trabajo certificadas.
    3. Exige pruebas de certificación cuando se envían datos encriptados entre cargas de trabajo.

La configuración sellada es una capa de seguridad opcional para tus instancias de ejecutores vinculados. Al igual que con la configuración predeterminada, puedes crear 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 del 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 de clúster de GKE. Los clientes que usan GKE Hypercluster tienen requisitos atípicos de seguridad y escalabilidad. GKE Hypercluster solo está disponible para los 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 dedicado.