Plataforma libre y de código abierto para crear tu propia nube sobre Kubernetes, con una API REST para clústeres, bases de datos, máquinas virtuales y balanceadores de carga.
kr8s-org/kr8s
Una biblioteca cliente de Python para Kubernetes con una API basada en kubectl e interfaces síncronas y asíncronas (asyncio/trio).
- Estrellas
- 1,001
- Forks
- 71
- Issues abiertos
- 49
- Último commit
- hace 6 días
¿Qué es?
kr8s es una biblioteca cliente de Python para Kubernetes. Su API está basada en kubectl, así que quienes ya conocen comandos como get, scale, label, cordon y exec pueden encontrar métodos equivalentes en las clases Pod, Deployment, Node y otras, sin tener que aprender un vocabulario nuevo.
La biblioteca ofrece valores predeterminados razonables para la autenticación y la configuración del cliente, y almacena los clientes en caché para no tener que pasar objetos de API entre funciones. El código está escrito a mano, en lugar de generarse a partir de especificaciones de Swagger, lo que facilita su lectura. Incluye tanto una API síncrona estándar como una API asíncrona compatible con asyncio y trio.
Además de las operaciones CRUD básicas, kr8s incluye utilidades para tareas habituales, como ejecutar comandos en pods, reenviar puertos en un hilo en segundo plano y generar definiciones sencillas de Pod a partir de argumentos con nombre. El proyecto indica que es compatible con varias versiones de Python y versiones recientes de Kubernetes.
Funciones clave
- 01Los nombres y el comportamiento de los métodos siguen los de kubectl, lo que facilita el aprendizaje.
- 02Ofrece API síncronas y asíncronas compatibles con asyncio y trio.
- 03Almacena los clientes en caché para poder reutilizar los objetos de API sin tener que pasar los clientes entre funciones.
- 04Incluye utilidades para ejecutar comandos en pods, reenviar puertos y poner nodos en modo cordon.
- 05Utiliza código escrito a mano en lugar de código cliente generado a partir de Swagger.
Casos de uso
- Crear automatizaciones en Python para escalar deployments o asignar etiquetas a pods de un clúster.
- Desarrollar controladores o servicios basados en asyncio que se comuniquen con la API de Kubernetes.
- Sustituir scripts de shell que ejecutan kubectl por código Python con tipos.
Inicio rápido
- 1
Instala la biblioteca desde PyPI
pip install kr8s - 2
Muestra todos los nombres de nodo de tu clúster
Antes de usarlo
- Necesitas acceso a un clúster de Kubernetes para que resulte útil.
Temas
Preguntas frecuentes
- ¿Qué es kr8s?
- Una biblioteca cliente de Python para Kubernetes con una API basada en kubectl e interfaces síncronas y asíncronas (asyncio/trio). kr8s es una biblioteca cliente de Python para Kubernetes. Su API está basada en kubectl, así que quienes ya conocen comandos como get, scale, label, cordon y exec pueden encontrar métodos equivalentes en las clases Pod, Deployment, Node y otras, sin tener que aprender un vocabulario nuevo.
- ¿kr8s es gratuito? ¿Qué licencia tiene?
- kr8s es open source bajo la licencia BSD-3-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿kr8s sigue mantenido?
- Mantenimiento activo. El último commit de kr8s fue el 14 oct 2026.
- ¿Para qué puedo usar kr8s?
- Crear automatizaciones en Python para escalar deployments o asignar etiquetas a pods de un clúster. Desarrollar controladores o servicios basados en asyncio que se comuniquen con la API de Kubernetes. Sustituir scripts de shell que ejecutan kubectl por código Python con tipos.
- ¿Cómo se instala kr8s?
- Instala la biblioteca desde PyPI: pip install kr8s Muestra todos los nombres de nodo de tu clúster
- ¿Dónde consigo kr8s?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kr8s-org/kr8s
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Cliente de escritorio para Kubernetes, creado con Tauri y Rust, que lee tu kubeconfig y calcula el estado como kubectl.
Un framework web de Python para crear APIs con anotaciones de tipos estándar, validación automática, documentación OpenAPI y alto rendimiento.
Un framework de testing para Python que facilita escribir pruebas pequeñas y escalar a pruebas funcionales complejas para aplicaciones y bibliotecas.
Gestor moderno de paquetes y dependencias de Python que administra entornos virtuales, archivos de bloqueo y compilaciones según los metadatos de PEP 621 y PEP 517.
Sistema de gestión de inventario de código abierto con control de stock, seguimiento de piezas, una REST API y un sistema de plugins, desarrollado con Python y Django.