Repolode
kr8s-org

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. 1

    Instala la biblioteca desde PyPI

    pip install kr8s
  2. 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