Un controlador de Kubernetes y una CRD para gestionar sandboxes aislados, con estado y de un solo pod, orientados a entornos de ejecución de agentes de IA y cargas de trabajo de RL.
kubernetes-sigs/controller-runtime
Conjunto de bibliotecas Go para crear controladores y operadores de Kubernetes, usado como base de Kubebuilder y Operator SDK.
- Estrellas
- 2,988
- Forks
- 1,333
- Issues abiertos
- 69
- Último commit
- anteayer
¿Qué es?
controller-runtime es un conjunto de bibliotecas Go para escribir controladores de Kubernetes. Un controlador observa los recursos del clúster y trabaja para que su estado real coincida con el estado deseado declarado en la API. La biblioteca proporciona los componentes comunes de este patrón, incluidos managers que ejecutan controladores, builders que conectan watches y bucles de reconciliación, y un cliente para leer y escribir objetos.
El proyecto es el runtime compartido que utilizan Kubebuilder y Operator SDK, que suelen ser los puntos de partida para generar el esqueleto de nuevos operadores. Los desarrolladores que crean sus propios controladores directamente en Go suelen importar estos paquetes en lugar de escribir a mano el código de informer y de colas de trabajo. Las versiones están vinculadas a las versiones menores de Kubernetes; una tabla de compatibilidad relaciona cada versión de controller-runtime con una versión de client-go y la versión mínima de Go.
Funciones clave
- 01Manager para ejecutar y coordinar varios controladores
- 02API Builder para declarar watches y la lógica de reconciliación
- 03Cliente con caché para leer y escribir objetos de Kubernetes
- 04Compatibilidad con webhooks y elección de líder
- 05Tabla de compatibilidad que relaciona las versiones con las versiones de client-go y Go
Casos de uso
- Crear un operador personalizado de Kubernetes en Go
- Escribir controladores que reconcilien definiciones de recursos personalizados
- Ampliar proyectos generados por Kubebuilder con lógica adicional para controladores
Inicio rápido
- 1
Empieza con Kubebuilder u Operator SDK, que se basan en esta biblioteca (consulta el inicio rápido de Kubebuilder).
Antes de usarlo
- El proyecto se mantiene en la versión mayor 0 y puede incluir cambios incompatibles entre versiones menores.
- Cada versión menor está dirigida a una versión concreta de client-go y a una versión mínima de Go, por lo que debes ajustarlas a tus dependencias de Kubernetes.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es controller-runtime?
- Conjunto de bibliotecas Go para crear controladores y operadores de Kubernetes, usado como base de Kubebuilder y Operator SDK. controller-runtime es un conjunto de bibliotecas Go para escribir controladores de Kubernetes. Un controlador observa los recursos del clúster y trabaja para que su estado real coincida con el estado deseado declarado en la API. La biblioteca proporciona los componentes comunes de este patrón, incluidos managers que ejecutan controladores, builders que conectan watches y bucles de reconciliación, y un cliente para leer y escribir objetos.
- ¿controller-runtime es gratuito? ¿Qué licencia tiene?
- controller-runtime es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿controller-runtime sigue mantenido?
- Mantenimiento activo. El último commit de controller-runtime fue el 5 nov 2026.
- ¿Para qué puedo usar controller-runtime?
- Crear un operador personalizado de Kubernetes en Go Escribir controladores que reconcilien definiciones de recursos personalizados Ampliar proyectos generados por Kubebuilder con lógica adicional para controladores
- ¿Cómo se instala controller-runtime?
- Empieza con Kubebuilder u Operator SDK, que se basan en esta biblioteca (consulta el inicio rápido de Kubebuilder).
- ¿Dónde consigo controller-runtime?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kubernetes-sigs/controller-runtime
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un SDK de Go para crear Kubernetes Operators, con APIs de alto nivel, scaffolding y generación de código sobre controller-runtime.
Operador de Kubernetes que ejecuta y escala automáticamente runners autohospedados de GitHub Actions en contenedores efímeros.
Un operador de Kubernetes que despliega y administra aplicaciones de Ray mediante los recursos RayCluster, RayJob y RayService.
Un operador de Kubernetes que implementa y gestiona K8sGPT, usa un backend de IA para diagnosticar problemas del clúster y puede corregir automáticamente fallos al descargar imágenes.
Suite de operadores de Kubernetes que automatiza el despliegue de servicios de inferencia de LLM, ajuste fino y RAG en nodos con GPU.