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:
- Los usuarios o las aplicaciones solicitan una zona de pruebas creando un
SandboxClaimque hace referencia a unSandboxTemplate. - 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:
- Un
SandboxWarmPoolmantiene un conjunto de instancias de Pod precalentadas en un estado listo. - 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. - 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?
- Obtén información para habilitar Agent Sandbox en GKE.
- Obtén más información para aislar la ejecución de código de IA con Agent Sandbox en GKE.
- Para obtener información sobre cómo usar instantáneas de Pods con Agent Sandbox en GKE, consulta Guarda y restablece entornos de Agent Sandbox en GKE con instantáneas de Pods.
- Obtén información para usar Kata Containers de código abierto con Agent Sandbox en GKE. Kata Containers no es un Google Cloud producto. Si instalas y usas este software, eres responsable de la administración y la solución de problemas. La asistencia y los ANS de Google no se aplican a Kata Containers.
- Para obtener la implementación subyacente de código abierto, consulta el proyecto de Agent Sandbox GitHub.
- Para ver ejemplos de entornos de ejecución y configuraciones de YAML para situaciones como la ejecución de código o el uso de computadoras, consulta los ejemplos de Agent Sandbox.
- Para interactuar con zonas de pruebas de forma programática, consulta el archivo README del SDK de Python de Agent Sandbox en GitHub.