As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Fluxo
O Flux é outra ferramenta para Kubernetes que implementa GitOps princípios de uma forma única.
GitOps apoio
| Área | Capacidades da ferramenta |
|---|---|
Git como a única fonte da verdade |
O Flux usa repositórios Git como a fonte definitiva para definir o estado desejado do sistema. Todas as configurações de aplicativos e infraestrutura são armazenadas no Git. |
Configuração declarativa |
O Flux trabalha com descrições declarativas do estado desejado do seu cluster. Essas descrições geralmente são manifestos do Kubernetes, gráficos do Helm ou sobreposições do Kustomize. |
Sincronização automatizada |
O Flux monitora continuamente o repositório Git em busca de alterações. Quando detecta alterações, ele as aplica automaticamente ao cluster. |
Nativo do Kubernetes |
O Flux é construído como um conjunto de controladores Kubernetes e recursos personalizados. Ele usa os mecanismos de extensão no Kubernetes para fornecer recursos. GitOps |
Modelo de implantação baseado em pull |
Ao contrário dos CI/CD sistemas tradicionais baseados em push, o Flux usa um modelo baseado em pull. O cluster extrai o estado desejado do Git em vez de usar um sistema externo para enviar alterações. |
Reconciliação contínua |
O Flux compara constantemente o estado real do cluster com o estado desejado no Git. Ele corrige automaticamente qualquer desvio detectado entre esses estados. |
Multilocação |
O Flux oferece suporte à multilocação por meio de seus conceitos de personalizações e. HelmReleases Equipes diferentes podem gerenciar suas próprias partes da configuração de forma independente. |
Entrega progressiva |
O Flux oferece suporte a estratégias avançadas de implantação, como versões e A/B testes canários, por meio de seu componente Flagger. |
Integração com o Helm |
O Flux inclui suporte nativo para o Helm, para que você possa gerenciar facilmente as versões do Helm por meio do. GitOps |
Automação de atualização de imagem |
O Flux pode atualizar automaticamente as imagens do contêiner no Git quando novas versões estão disponíveis no registro do contêiner. |
Personalize o suporte |
Você pode usar o suporte nativo fornecido pelo Flux for Kustomize para personalizar e corrigir manifestos do Kubernetes. |
Segurança e RBAC |
O Flux se integra ao Kubernetes RBAC para controle de acesso. Ele suporta o gerenciamento de segredos por meio de vários back-ends. |
Observabilidade |
O Flux fornece informações de status e métricas sobre reconciliação e operações. Ele se integra às ferramentas de monitoramento para melhorar a observabilidade. |
Arquitetura orientada a eventos |
O Flux usa uma abordagem orientada por eventos para implementar reconciliações e atualizações. |
Extensibilidade |
A ferramenta foi projetada para ser extensível, para que você possa adicionar controladores e recursos personalizados. |
Sincronização entre clusters |
O Flux suporta o gerenciamento de vários clusters a partir de um único conjunto de repositórios. |
Gerenciar dependências |
Ele permite definir dependências entre diferentes partes do sistema e garante a ordem correta das operações. |
Receptores de webhook |
Você pode configurar o Flux para receber webhooks de provedores Git ou outros sistemas para iniciar a reconciliação imediata. |
Ao implementar esses GitOps princípios, o Flux fornece um sistema robusto e flexível para gerenciar clusters e aplicativos Kubernetes. Ele garante que sua infraestrutura e aplicativos estejam sempre sincronizados com seus repositórios Git e fornece consistência, confiabilidade e facilidade de gerenciamento em ambientes complexos do Kubernetes. A abordagem nativa do Kubernetes e o foco na automação da ferramenta a tornam particularmente adequada para ambientes nativos da nuvem.
Para cenários e requisitos que o Flux pode abordar, consulte os casos de uso do Flux posteriormente neste guia. Para uma comparação entre o Argo CD e o Flux, consulte Comparação de recursos posteriormente neste guia.
Para obter informações adicionais, consulte a documentação do Flux
Arquitetura
O diagrama a seguir ilustra um fluxo de trabalho de CD GitOps orientado por CD que usa o Flux em um cluster EKS. Para obter informações detalhadas, consulte a documentação do Flux
em que:
-
Etapa 1: mesclagem do Pull Request (PR). Um desenvolvedor confirma as alterações nos manifestos do Kubernetes ou nos gráficos do Helm que são armazenados em um repositório Git. Quando o PR é revisado e incorporado à ramificação principal, o estado desejado do aplicativo é atualizado no controle de origem.
-
Etapa 2: Sincronização do repositório. O Flux é executado em um namespace dedicado no cluster EKS e monitora continuamente o repositório Git configurado. Quando detecta alterações, ele obtém as atualizações mais recentes para reconciliar o estado declarado.
-
Etapa 3: Implantação no namespace de destino. O Flux compara o estado desejado do Git com o estado ativo no cluster. Em seguida, ele aplica as alterações necessárias ao namespace da carga de trabalho de destino para que o aplicativo seja implantado ou atualizado adequadamente.