Acerca de Agent Sandbox en GKE

Agent Sandbox en Google Kubernetes Engine (GKE) te ayuda a administrar cargas de trabajo aisladas, con estado y de una sola réplica. Está optimizado para casos de uso como los entornos de ejecución de agentes de IA, en los que se debe ejecutar código no confiable generado por LLM en un entorno seguro y de alto rendimiento.

El complemento Agent Sandbox en GKE se basa en el proyecto de controlador de Agent Sandbox de código abierto y sigue sus ciclos de lanzamiento. Como complemento administrado de GKE, Google administra el ciclo de vida completo del controlador, incluidas las actualizaciones automáticas y los parches de seguridad.

En este documento, se proporciona una descripción general conceptual de Agent Sandbox en GKE.

Por qué usar Agent Sandbox en GKE

Agent Sandbox en GKE está diseñado para cargas de trabajo de agentes que requieren una gran escala, extensibilidad y seguridad. Los beneficios principales son:

  • Aislamiento a nivel del kernel: Proporciona un aislamiento sólido a nivel del kernel para el código no confiable generado por LLM. Agent Sandbox en GKE también funciona con Kata Containers de código abierto. Para obtener un instructivo sobre el uso de Kata Containers de código abierto con Agent Sandbox en GKE, consulta Cómo habilitar Kata Containers en GKE.

  • Aprovisionamiento en menos de un segundo: Ofrece un mecanismo listo para usar para proporcionar zonas de pruebas mucho más rápido de lo que permite la programación estándar de Pods de Kubernetes (por lo general, <1 s).

  • Extensibilidad nativa de la nube: Aprovecha la potencia del paradigma de Kubernetes y la infraestructura administrada de GKE.

Al proporcionar una API declarativa y estandarizada, Agent Sandbox en GKE ofrece una experiencia de un solo contenedor que proporciona características de aislamiento y persistencia similares a las de una máquina virtual (VM), creada por completo en primitivas de Kubernetes.

Casos de uso comunes de Agent Sandbox en GKE

Usa Agent Sandbox en GKE para cargas de trabajo que requieren aislamiento, persistencia y una identidad estable. Como ejemplo, se incluyen los siguientes casos prácticos:

  • Entornos de ejecución de agentes de IA: Ejecuta de forma segura código no confiable en un entorno aislado por entornos de ejecución enfocados en la seguridad, como gVisor.
  • Entornos de desarrollo: Proporciona a los desarrolladores entornos de codificación persistentes y aislados basados en la nube.
  • Notebooks y herramientas de investigación: Aloja sesiones de un solo contenedor para herramientas interactivas como notebooks de Jupyter.
  • Servicios con estado de un solo Pod: Ejecuta aplicaciones que necesitan una identidad y un almacenamiento estables sin la complejidad de un StatefulSet.
  • Administración programática del entorno: Usa los SDK de biblioteca cliente proporcionados, como el SDK de Python de Agent Sandbox, para solicitar y administrar zonas de pruebas directamente desde la lógica de tu aplicación sin administrar YAML de Kubernetes.

Cómo funciona Agent Sandbox en GKE

Agent Sandbox en GKE usa un controlador personalizado y varias definiciones de recursos personalizados (CRD) de Kubernetes para administrar el ciclo de vida de los entornos de zona de pruebas.

Arquitectura principal

  • CRD de Sandbox: Es el recurso principal que representa un solo Pod con estado. Administra nombres de host estables, identidad de red y almacenamiento persistente.
  • Sandbox Router: Es un componente que proporciona un extremo estable y canaliza el tráfico a los Pods de Sandbox adecuados, lo que abstrae la complejidad de la red subyacente.
  • Integración con instantáneas de Pods: Agent Sandbox en GKE se integra con la función de instantáneas de Pods de GKE para permitir la pausa y la reanudación de las cargas de trabajo guardando y restableciendo el estado completo de un contenedor.

Modelo de reclamo

El modelo de reclamo es una función clave que separa la solicitud de un entorno del usuario de los detalles de implementación específicos, como dónde y cómo se aprovisiona la carga de trabajo. A diferencia de un StatefulSet estándar de Kubernetes, el modelo de reclamo te permite solicitar una zona de pruebas sin necesidad de administrar directamente las configuraciones subyacentes de Pod o almacenamiento.

El modelo de reclamo se administra con las SandboxClaim y SandboxTemplate CRD, y funciona de la siguiente manera:

  1. Los usuarios o las aplicaciones solicitan una zona de pruebas creando un SandboxClaim que hace referencia a un SandboxTemplate.
  2. El controlador controla la asignación del reclamo a una instancia de zona de pruebas real, lo que ofrece una administración flexible del backend. Esto permite que el sistema reutilice las zonas de pruebas existentes o asigne desde un grupo.

Grupos preparados

La función grupo preparado está diseñada para minimizar la latencia de inicio, que es fundamental para las situaciones interactivas de agentes de IA. Esta función permite que Agent Sandbox en GKE proporcione entornos de ejecución en menos de un segundo, mucho más rápido que la programación típica de Pods. La función se administra con la SandboxWarmPool CRD y funciona de la siguiente manera:

  1. Un SandboxWarmPool mantiene un conjunto de instancias de Pod precalentadas en un estado listo.
  2. Cuando se realiza un SandboxClaim, el controlador asigna instantáneamente un Pod del grupo en lugar de esperar a que un Pod nuevo extraiga imágenes y comience desde cero.
  3. Cuando se combinan con instantáneas de Pods, los grupos preparados proporcionan capacidades rápidas de "encendido instantáneo" mediante el restablecimiento de Pods desde un estado preconfigurado.

Aislamiento de red

Agent Sandbox en GKE implementa una postura de seguridad de red de denegación predeterminada para todos los entornos de zona de pruebas. Esto garantiza que la ejecución de código no confiable dentro de una zona de pruebas no pueda acceder a redes internas no autorizadas ni al plano de control de GKE de forma predeterminada. Puedes definir restricciones de red específicas y reglas de entrada o salida permitidas dentro de tu SandboxTemplate para proporcionar seguridad detallada para las cargas de trabajo de agentes.

Acceso programático con SDKs

Los ingenieros de IA pueden consumir recursos de Agent Sandbox en GKE de forma programática con las bibliotecas cliente proporcionadas. Por ejemplo, el SDK de Python proporciona una interfaz de alto nivel que abstrae las configuraciones subyacentes SandboxClaim y SandboxTemplate. Esto te permite crear entornos aislados e interactuar con ellos directamente desde tus frameworks de agentes de IA basados en Python, como LangChain o el SDK de Agentic de Vertex AI.

Limitaciones y requisitos

Agent Sandbox en GKE tiene las siguientes limitaciones y requisitos:

  • Versión del clúster: Requiere la versión 1.35.2-gke.1269000 de GKE o una posterior para la compatibilidad completa con las funciones (incluidas las instantáneas).
  • Requisitos de infraestructura: Está optimizado para configuraciones de nodos específicas (como los tipos de máquinas N2) y requiere que el controlador de Agent Sandbox esté instalado y configurado en el clúster.
  • Entornos de ejecución de aislamiento: Si bien admite varios entornos de ejecución, está diseñado principalmente para usarse con entornos de ejecución reforzados con seguridad, como gVisor.
  • Disponibilidad de funciones subyacentes: Es posible que algunas funciones subyacentes, como las instantáneas de Pods de GKE, estén en versión preliminar o tengan disponibilidad regional específica.

¿Qué sigue?