Repolode
kr8s-org

kr8s-org/kr8s

Uma biblioteca cliente Python para Kubernetes com API inspirada no kubectl e interfaces síncrona e assíncronas (asyncio/trio).

Estrelas
1,001
Forks
71
Issues abertas
49
Último commit
há 6 dias

O que é?

kr8s é uma biblioteca cliente Python para Kubernetes. Sua API é inspirada no kubectl, então desenvolvedores que já conhecem comandos como get, scale, label, cordon e exec encontram métodos equivalentes em classes como Pod, Deployment, Node e outras, sem precisar aprender um novo vocabulário.

A biblioteca adota padrões sensatos para autenticação e configuração do cliente e mantém os clientes em cache, para que os objetos da API não precisem ser passados entre funções. O código é escrito manualmente, em vez de ser gerado a partir de especificações Swagger, o que mantém o código-fonte legível. A biblioteca oferece tanto uma API síncrona padrão quanto uma API assíncrona compatível com asyncio e trio.

Além das operações básicas de CRUD, kr8s inclui auxiliares para tarefas comuns, como executar comandos em pods, encaminhar portas em uma thread em segundo plano e gerar definições simples de Pod a partir de argumentos nomeados. O projeto lista suporte a várias versões do Python e a versões recentes do Kubernetes.

Recursos principais

  • 01Os nomes e a semântica dos métodos seguem o kubectl, facilitando o aprendizado.
  • 02Oferece APIs síncrona e assíncrona compatíveis com asyncio e trio.
  • 03Mantém clientes em cache para que os objetos da API possam ser reutilizados sem passar os clientes entre funções.
  • 04Inclui auxiliares para executar comandos em pods, encaminhar portas e bloquear o agendamento de nós.
  • 05Usa código escrito manualmente, em vez de código cliente gerado pelo Swagger.

Casos de uso

  • Escrever automações em Python para escalar deployments ou adicionar labels a pods em um cluster.
  • Criar controllers ou serviços baseados em asyncio que se comuniquem com a API do Kubernetes.
  • Substituir scripts shell que chamam o kubectl por código Python tipado.

Início rápido

  1. 1

    Instale a biblioteca do PyPI

    pip install kr8s
  2. 2

    Liste todos os nomes de nós do seu cluster

Antes de usar

  • É necessário ter acesso a um cluster Kubernetes para realizar qualquer operação útil.

Tópicos

Perguntas frequentes

O que é kr8s?
Uma biblioteca cliente Python para Kubernetes com API inspirada no kubectl e interfaces síncrona e assíncronas (asyncio/trio). kr8s é uma biblioteca cliente Python para Kubernetes. Sua API é inspirada no kubectl, então desenvolvedores que já conhecem comandos como get, scale, label, cordon e exec encontram métodos equivalentes em classes como Pod, Deployment, Node e outras, sem precisar aprender um novo vocabulário.
kr8s é gratuito? Qual é a licença?
kr8s é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
kr8s ainda é mantido?
Manutenção ativa. O último commit de kr8s foi em 14 de out. de 2026.
Para que posso usar kr8s?
Escrever automações em Python para escalar deployments ou adicionar labels a pods em um cluster. Criar controllers ou serviços baseados em asyncio que se comuniquem com a API do Kubernetes. Substituir scripts shell que chamam o kubectl por código Python tipado.
Como instalar kr8s?
Instale a biblioteca do PyPI: pip install kr8s Liste todos os nomes de nós do seu cluster
Onde consigo kr8s?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/kr8s-org/kr8s

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados