Sobes.tech
Middle

Em que consiste a concepção de GitOps?

sobes.tech IA

Resposta da IA

GitOps é um quadro operacional que usa o Git como única fonte de verdade para descrever de forma declarativa o estado desejado da infraestrutura e das aplicações.

Princípios-chave:

  • Declaratividade: O sistema é descrito de forma declarativa, por exemplo, usando manifestos do Kubernetes.
  • Versionamento: O estado desejado do sistema é armazenado no Git e possui versões.
  • Automatização: Processos automáticos aplicam mudanças do Git ao ambiente de trabalho.
  • Alinhamento: Agentes especiais verificam constantemente o estado atual do sistema e ajustam-no para corresponder ao estado desejado no Git.

Esquema de funcionamento:

  1. O desenvolvedor ou operador faz alterações na configuração ou código da aplicação e faz um commit no repositório Git.
  2. O sistema CI/CD compila artefatos (por exemplo, imagens Docker) e atualiza os manifestos de implantação em outro repositório Git (repositório de configuração).
  3. O agente GitOps (por exemplo, Flux CD, Argo CD) monitora o repositório de configuração.
  4. Ao detectar um novo commit, o agente extrai as alterações e as aplica ao ambiente alvo (por exemplo, um cluster Kubernetes).
  5. O agente verifica constantemente se o estado atual do cluster corresponde ao estado descrito no Git e corrige divergências.

Vantagens:

  • Confiabilidade: O estado do sistema pode sempre ser restaurado do Git.
  • Velocidade: Processos automatizados permitem implantar mudanças mais rapidamente.
  • Segurança: Todas as mudanças passam pelo Git, garantindo auditoria e possibilidade de rollback.
  • Visibilidade: O histórico de mudanças está disponível no Git.
  • Facilidade de rollback: Reverter para um estado anterior equivale a reverter um commit no Git.

Exemplos de ferramentas:

  • Flux CD
  • Argo CD