Repolode
kubernetes-sigs

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

#kubernetes#golang#operator#controller#k8s-api#cloud-native#k8s-sig-api-machinery

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