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á.
Casos de uso do Argo CD e do Flux
Esta seção se concentra em duas ferramentas, Argo CD e Flux, que fornecem funcionalidade pura GitOps. Nesse contexto, pure GitOps se refere a um modelo em que um repositório Git serve como a única fonte confiável para o estado desejado dos aplicativos e da infraestrutura. Todas as alterações são feitas por meio de commits do Git, e o sistema sincroniza automaticamente o ambiente ativo para corresponder ao estado definido no repositório. Nenhuma intervenção manual é necessária fora das operações do Git.
Considerações gerais
-
Talvez você prefira usar o Argo CD em ambientes em que o gerenciamento visual e os fluxos de trabalho centrados em aplicativos são importantes.
-
Você pode escolher o Flux se precisar de soluções mais leves, multilocação forte ou integração profunda com a rede mais ampla do Cloud Native Computing Foundations (CNCF).
-
O Argo CD geralmente atrai equipes que estão migrando do CI/CD tradicional para devido à GitOps sua interface de usuário intuitiva.
-
O Flux geralmente é preferido em ambientes nativos da nuvem, onde fluxos de trabalho baseados em CLI e práticas de IaC já estão estabelecidos.
Em última análise, a escolha entre o Argo CD e o Flux geralmente depende de suas necessidades organizacionais específicas, das ferramentas existentes e das preferências da equipe. Ambas as ferramentas são capazes de lidar com a maioria dos GitOps cenários, por isso recomendamos que você as avalie com base em seus casos de uso e requisitos específicos.
Casos de uso do Argo CD
Gerenciamento visual:
-
Quando você precisa de uma interface de usuário fácil de usar para gerenciar implantações e visualizar estados de aplicativos.
-
Para equipes que preferem uma interface gráfica para monitoramento e solução de problemas.
Abordagem centrada no aplicativo:
-
Quando você quiser gerenciar implantações no nível do aplicativo em vez de gerenciar recursos individuais.
-
Para organizações que estruturam suas implantações em torno de conceitos de aplicativos.
Gerenciamento de vários clusters:
-
Quando gerenciar implantações em vários clusters é um requisito primário.
-
Para ambientes complexos e distribuídos com muitos clusters.
Ondas de reversão e sincronização:
-
Quando você precisa de um controle refinado sobre o processo de implantação, incluindo ondas de sincronização e intervenções manuais.
-
Para cenários que exigem estratégias complexas de reversão.
Integração com ferramentas existentes:
-
Quando você já está usando outras ferramentas no projeto Argo, como Argo Workflows e Argo Events.
Ambientes corporativos:
-
Para grandes empresas que precisam de RBAC robusto e integração de login único por padrão.
Casos de uso do Flux
Implantações leves:
-
Quando você precisa de uma solução mais leve e que consuma menos recursos GitOps.
-
Para cenários de computação de ponta ou IoT em que os recursos podem ser restritos.
Atualizações automatizadas de imagens:
-
Quando a detecção e a implantação automáticas de novas imagens de contêiner são um requisito fundamental.
-
Para equipes que se concentram na implantação contínua com atualizações frequentes de imagens.
Multilocação:
-
Quando é necessário um forte suporte multilocatário, especialmente em ambientes de cluster compartilhados.
-
Para provedores de serviços ou grandes organizações que têm separações estritas entre equipes ou projetos.
IaC:
-
Ao gerenciar aplicativos e infraestrutura por meio do mesmo GitOps fluxo de trabalho, é importante.
-
Para equipes que investem fortemente no paradigma do IaC.
Integração com o Helm:
-
Quando o uso extensivo de gráficos do Helm faz parte de sua estratégia de implantação.
-
Para ambientes com implantações complexas baseadas em Helm.
Integração do projeto CNCF:
-
Quando a integração estreita com outros projetos de CNCF é importante.
-
Para organizações que se alinham às tecnologias e princípios da CNCF.
Arquitetura modular:
-
Quando você precisa de flexibilidade para usar somente componentes específicos do GitOps kit de ferramentas.
-
Para equipes que desejam criar GitOps fluxos de trabalho personalizados usando componentes modulares.
Entrega progressiva:
-
Quando estratégias avançadas de implantação, como versões canárias ou A/B testes, são requisitos essenciais.
Comparação de recursos
| Área | Argo CD | Fluxo |
|---|---|---|
Support aos GitOps princípios fundamentais |
|
|
Arquitetura |
End-to-end aplicativo para implementar fluxos de trabalho do Kubernetes GitOps |
Fornece Kubernetes CRDs e controladores para GitOps |
Configuração |
Simples |
Complexo |
Suporte de leme |
|
|
Personalize o suporte |
|
|
GUI integrada |
CLI e interface de usuário web completa |
CLI e interface web leve opcional |
Suporte RBAC |
Controle granular |
RBAC nativo do Kubernetes |
Suporte para multilocação e vários clusters |
Excelente suporte para vários clusters |
Excelente suporte para multilocação |
Autenticação de login único |
|
|
Automação de sincronização |
Capacidade de sincronizar janelas |
Capacidade de definir intervalos de reconciliação |
Sincronização parcial |
|
|
Processo de reconciliação |
Suporta sincronizações manuais e automáticas. Várias estratégias diferentes estão disponíveis. |
Suporta sincronizações manuais e automáticas. |
Extensibilidade |
Suporta plug-ins personalizados. Opções limitadas de personalização. |
Suporta controlador personalizado. Boa extensibilidade e integrações de terceiros. |
Apoio comunitário |
Comunidade grande e ativa. |
Comunidade menor, mas em crescimento. |
Escalabilidade |
Boa escalabilidade, mas limitada pela taxa de busca de dados da interface do usuário da web. A análise da comunidade sugere suporte para dezenas de milhares de aplicativos. |
Guias claros para escalabilidade horizontal e vertical, até dezenas de milhares de aplicativos. |