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

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.

Arquitetura de fluxo e fluxo de trabalho ativados. AWS

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.