La zona de pruebas de agentes de Google Kubernetes Engine (GKE) te ayuda a administrar cargas de trabajo aisladas, con estado y de una sola réplica en GKE. Está optimizada 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 con buen rendimiento.
El complemento de la zona de pruebas de agentes de GKE se basa en el proyecto de controlador de zona de pruebas de agentes 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 la zona de pruebas de agentes de GKE.
Por qué usar la zona de pruebas de agentes de GKE
La zona de pruebas de agentes de GKE está diseñada para cargas de trabajo de agentes que requieren una escala, una extensibilidad y una seguridad de alto nivel. 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 con tecnologías como gVisor.
- 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, la zona de pruebas de agentes de GKE ofrece una experiencia de un solo contenedor que proporciona características de aislamiento y persistencia similares a una máquina virtual (VM), compilada por completo en primitivas de Kubernetes.
Casos de uso comunes para la zona de pruebas de agentes
Usa la zona de pruebas de agentes de 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 la zona de pruebas de agentes, para solicitar y administrar zonas de pruebas directamente desde la lógica de tu aplicación sin administrar YAML de Kubernetes.
Cómo funciona la zona de pruebas de agentes de GKE
La zona de pruebas de agentes de 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 zona de pruebas: Es el recurso principal que representa un solo Pod con estado. Administra nombres de host estables, identidad de red y almacenamiento persistente.
- Router de zona de pruebas: Es un componente que proporciona un extremo estable y canaliza el tráfico a los Pods de zona de pruebas adecuados, lo que abstrae la complejidad de las herramientas de redes subyacentes.
- Integración con instantáneas de Pods: La zona de pruebas de agentes de 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 del usuario de un entorno 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 Pods 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 activos
La función Grupo activo 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 la zona de pruebas de agentes 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 Pods 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 activos proporcionan capacidades rápidas de "encendido instantáneo" mediante el restablecimiento de Pods desde un estado preconfigurado.
Aislamiento de red
La zona de pruebas de agentes de GKE implementa una postura de seguridad de red de denegación predeterminada para todos los entornos de zona de pruebas. Esto garantiza que el código no confiable que se ejecuta 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 la zona de pruebas de agentes de 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 basados en Python, como LangChain o el SDK de agentes de Vertex AI.
Limitaciones y requisitos
La zona de pruebas de agentes de 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á optimizada para configuraciones de nodos específicas (como los tipos de máquinas N2) y requiere que el controlador de la zona de pruebas de agentes esté instalado y configurado en el clúster.
- Entornos de ejecución de aislamiento: Si bien admite varios entornos de ejecución, está diseñada 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 la zona de pruebas de agentes en GKE.
- Obtén más información para aislar la ejecución de código de IA con la zona de pruebas de agentes.
- Para obtener información sobre cómo usar instantáneas de Pods con la zona de pruebas de agentes, consulta Guarda y restablece entornos de zona de pruebas de agentes con instantáneas de Pods.
- Para obtener la implementación subyacente de código abierto, consulta el proyecto de GitHub de la zona de pruebas de agentes.
- Para obtener 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 la zona de pruebas de agentes.
- Para interactuar con zonas de pruebas de forma programática, consulta el archivo README del SDK de Python de la zona de pruebas de agentes en GitHub.