Um controller e uma CRD do Kubernetes para gerenciar sandboxes isoladas, com estado e em um único pod, voltadas a runtimes de agentes de IA e workloads de RL.
kubernetes-sigs/controller-runtime
Conjunto de bibliotecas Go para criar controllers e operators do Kubernetes, usado como base do Kubebuilder e do Operator SDK.
- Estrelas
- 2,986
- Forks
- 1,333
- Issues abertas
- 69
- Último commit
- ontem
O que é?
controller-runtime é um conjunto de bibliotecas Go para escrever controllers do Kubernetes. Um controller observa os recursos do cluster e trabalha para alinhar o estado real ao estado desejado declarado na API. A biblioteca fornece os componentes comuns necessários para esse padrão, incluindo managers que executam controllers, builders que conectam watches e loops de reconciliação e um client para ler e gravar objetos.
O projeto é o runtime compartilhado por baixo do Kubebuilder e do Operator SDK, que costumam ser os pontos de partida para gerar a estrutura de novos operators. Desenvolvedores que criam seus próprios controllers diretamente em Go normalmente importam esses pacotes, em vez de escrever à mão código de informer e work queue. As versões acompanham as versões minor do Kubernetes, e uma tabela de compatibilidade relaciona cada versão do controller-runtime à versão correspondente do client-go e à versão mínima do Go.
Recursos principais
- 01Manager para executar e coordenar vários controllers
- 02API Builder para declarar watches e a lógica de reconciliação
- 03Client com cache para ler e gravar objetos do Kubernetes
- 04Suporte a webhooks e eleição de líder
- 05Tabela de compatibilidade que relaciona versões às versões do client-go e do Go
Casos de uso
- Criar um operator personalizado do Kubernetes em Go
- Escrever controllers que reconciliam definições de recursos personalizados
- Estender projetos gerados pelo Kubebuilder com lógica adicional de controller
Início rápido
- 1
Comece com Kubebuilder ou Operator SDK, que são baseados nesta biblioteca (consulte o início rápido do Kubebuilder).
Antes de usar
- O projeto permanece na versão principal 0 e pode incluir mudanças incompatíveis entre versões secundárias.
- Cada versão secundária é voltada para uma versão específica do client-go e uma versão mínima do Go; por isso, você precisa alinhá-las às suas dependências do Kubernetes.
Em coleções
Tópicos
Perguntas frequentes
- O que é controller-runtime?
- Conjunto de bibliotecas Go para criar controllers e operators do Kubernetes, usado como base do Kubebuilder e do Operator SDK. controller-runtime é um conjunto de bibliotecas Go para escrever controllers do Kubernetes. Um controller observa os recursos do cluster e trabalha para alinhar o estado real ao estado desejado declarado na API. A biblioteca fornece os componentes comuns necessários para esse padrão, incluindo managers que executam controllers, builders que conectam watches e loops de reconciliação e um client para ler e gravar objetos.
- controller-runtime é gratuito? Qual é a licença?
- controller-runtime é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- controller-runtime ainda é mantido?
- Manutenção ativa. O último commit de controller-runtime foi em 5 de nov. de 2026.
- Para que posso usar controller-runtime?
- Criar um operator personalizado do Kubernetes em Go Escrever controllers que reconciliam definições de recursos personalizados Estender projetos gerados pelo Kubebuilder com lógica adicional de controller
- Como instalar controller-runtime?
- Comece com Kubebuilder ou Operator SDK, que são baseados nesta biblioteca (consulte o início rápido do Kubebuilder).
- Onde consigo controller-runtime?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/kubernetes-sigs/controller-runtime
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um SDK em Go para criar Kubernetes Operators, com APIs de alto nível, scaffolding e geração de código sobre o controller-runtime.
Operador Kubernetes que executa e escala automaticamente runners self-hosted do GitHub Actions em contêineres efêmeros.
Um operador do Kubernetes que implanta e gerencia aplicações Ray por meio dos recursos RayCluster, RayJob e RayService.
Um operador Kubernetes que implanta e gerencia o K8sGPT, usando um backend de IA para diagnosticar problemas no cluster e, opcionalmente, corrigir falhas de pull de imagens automaticamente.
Uma suíte de operadores Kubernetes que automatiza a implantação de serviços de inferência de LLM, fine-tuning e RAG em nós com GPU.