Casos de uso do Argo CD e do Flux - AWS Orientação prescritiva

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

Sim

Sim

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

Sim

Sim

Personalize o suporte

Sim

Sim

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

Sim

Sim

Automação de sincronização

Capacidade de sincronizar janelas

Capacidade de definir intervalos de reconciliação

Sincronização parcial

Sim

Não

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.