A loja já está aberta

Construímos máquinas Workstation AI para sites, agentes de IA e treino de LLM — configure e compre online.

Obter preços profissionais
Produtos de IA
Labs de IAAgentes OpenAIAgentes ClaudeGrok BotCRM nativo da Workstation AIMarketingTodos os produtos
Soluções de IA
IA aplicadaAgentes de IAIA generativaAutomatização com IAQualificação em IAPacotes de IA para PMELaboratório de IA empresarialEstações de trabalho de IAHardware e software NVIDIANVIDIA Accelerated ComputingIA privadaClusters de GPUIA de bordaIA por setor
Serviços de IA
Modernização de plataformasEngenharia digitalFundações de dados e IAOperações autónomasConsultoria de IAAutomação DevOpsCibersegurançaDesenvolvimento de softwareConstrução de agentesConfiguração MLOpsLocação de GPUs
Sobre nós
EmpresaA nossa históriaParceirosCasos de sucesso
Centros de dados de IA
Análises de IASérie JevLaboratório de benchmarksSeleção de modelos
Notas técnicas
Documentação
SO LinuxUbuntuRed Hat Enterprise LinuxSUSE LinuxAlpine LinuxDebian, Rocky & AlmaLinux
Plataformas de IA na nuvemAWS & Amazon BedrockGoogle Cloud & Vertex AIMicrosoft Azure & AI FoundryNuvens e marketplaces de GPU
Centros de dados de IA privadosPara escritórios de advocaciaPara escritórios de contabilidadePlataformas locaisNuvem totalmente protegida
FerramentasRing PromoterJobshout
Notícias
Blog
Fale conoscoEntrar

Estações de trabalho de IA, software multiagente de IA, infraestrutura de GPU e soluções de agentes inteligentes para empresas modernas.

Fale conosco

Soluções de IA

IA aplicadaAgentes de IAIA generativaAutomatização com IAQualificação em IAPacotes de IA para PMELaboratório de IA empresarialIA por setor

Produtos

Todos os produtosWorkstation AI native CRM e ERPMarketingAgentes OpenAIRing PromoterJobshout

Empresa

Sobre nósEmpresaCentros de dados de IAPor que WorkstationParceirosCasos de sucessoPreçosContatoTenthMatrix

Recursos

Análises de IANotas técnicasDocumentaçãoSO LinuxPlataformas de IA na nuvemCentros de dados de IA privadosBlogBuscarMapa do site
Escritório do Reino Unido
77-79 Marlowes, Hemel Hempstead HP1 1LFComo chegar: pegue a saída 20 da M25, Outer LondonN.º da empresa: 11641870Seg - Sex: 9:00 - 18:00 GMT
+44 7515 356 146
Escritório da Bélgica
Workstation SRL, Rue Vanderkindere 34, 1180 Uccle, BrusselsBE 0751.518.683Seg - Sex: 9:00 - 18:00 CET
+32 492 45 67 46
Escritório da Índia
#159 Sector 9, Pocket 1, DDA Flats, 110077 Dwarka, New Delhi
+91 98881 98841

© 2026 Workstation AI. Todos os direitos reservados.

PrivacidadeEliminação de dadosCookiesTermos de serviçoMapa do site

NVIDIA, the NVIDIA logo, RTX, RTX PRO, Blackwell, CUDA, NVLink, MGX, Omniverse, Spectrum-X, Quantum, BlueField, DGX and HGX are trademarks and/or registered trademarks of NVIDIA Corporation in the US and other countries. AMD, the AMD Arrow logo, EPYC, Instinct, Ryzen and Threadripper are trademarks of Advanced Micro Devices, Inc. Dell and PowerEdge are trademarks of Dell Inc. or its subsidiaries. Intel and Xeon are trademarks of Intel Corporation or its subsidiaries. AMAX, AceleMax and LiquidMax are trademarks of AMAX Engineering Corporation. All other product names, logos and brands are the property of their respective owners. We use them only to identify the products we describe, supply or support; their use does not mean their owners endorse us.

Loading blog...

Início / Blogs
DevOpsKubernetesRke2

Entrega contínua Kubernetes: pipelines GitOps com ArgoCD e Flux

Crie pipelines de implantação automatizados e confiáveis ​​para Kubernetes usando GitOps com ArgoCD e Flux

Balinder Walia27 de maio de 20259 min read
34

A entrega contínua no Kubernetes evoluiu muito além da simples kubectl apply comandos. As equipes modernas estão adotando o GitOps, um paradigma que usa o Git como a única fonte de verdade para infraestrutura declarativa e configuração de aplicativos. Ao combinar os princípios do GitOps com ferramentas como ArgoCD e Flux CD, as organizações podem obter pipelines de implantação confiáveis, auditáveis ​​e automatizados que podem ser dimensionados em clusters e ambientes.

Este guia aborda a arquitetura, a configuração e as práticas recomendadas para a construção de pipelines de entrega contínua de nível de produção no Kubernetes usando a abordagem GitOps.

Princípios do GitOps

O GitOps é baseado em quatro princípios básicos que mudam fundamentalmente a forma como as equipes gerenciam as implantações:

Pipeline de CI/CD com GitOpsGit PushCódigo FonteConstruirCompilar e LintTesteUnidade e IntegraçãoRegistroEnvio de imagemImplantar em K8sArgoCD/FluxoArgo CDSincronizar e reconciliarFluxo CDReconciliador GitRepositório Git = Fonte Única de Verdade
  • Configuração declarativa - Todo o estado desejado do seu sistema é descrito de forma declarativa. Para Kubernetes, isso significa manifestos YAML, gráficos Helm ou sobreposições Kustomize armazenados no Git.
  • Versão controlada - Git serve como a única fonte da verdade. Cada mudança passa por uma solicitação pull, fornecendo uma trilha de auditoria completa e permitindo reversões fáceis por meio da reversão de commits.
  • Reconciliação Automatizada - Um agente em execução no cluster compara continuamente o estado desejado no Git com o estado real no cluster e reconcilia automaticamente qualquer desvio.
  • Observação Contínua - O sistema monitora continuamente o repositório Git e o estado do cluster, alertando sobre divergências e garantindo que o cluster sempre corresponda à configuração declarada.

Esses princípios eliminam etapas manuais de implantação, reduzem erros humanos e fornecem um fluxo de trabalho consistente, independentemente da complexidade do cluster.

Arquitetura e configuração do ArgoCD

ArgoCD é a ferramenta GitOps mais amplamente adotada para Kubernetes. Ele fornece uma UI web poderosa, CLI e API para gerenciar implantações de aplicativos em clusters.

Fluxo de trabalho GitOpsDesenvolvedorMesclagem push/PRRepositório GitEstado desejadoArgo CDRepositório de relógiosDetecta desvioAglomerado K8sEstado ao vivoSincronizado automaticamenteReversão = Git ReverterTrilha de auditoria: cada implantação é um commit do Git

Componentes principais

ArgoCD consiste em vários componentes principais que funcionam juntos:

  • Servidor API - Expõe um gRPC/REST API e atende a UI da web. Lida com autenticação, RBAC e integrações externas.
  • Servidor de repositório - Clona repositórios Git e gera manifestos Kubernetes a partir de gráficos Helm, Kustomize ou YAML simples.
  • Controlador de aplicativos - Monitora continuamente os aplicativos em execução e compara o estado ativo com o estado desejado no Git.
  • Redis - Fornece cache para o servidor de repositório e controlador de aplicativo.

Instalação

Implante o ArgoCD em seu cluster usando os manifestos oficiais ou gráfico do Helm:

# Create namespace and install ArgoCD
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

# Or via Helm
helm repo add argo https://argoproj.github.io/argo-helm
helm install argocd argo/argo-cd \
  --namespace argocd \
  --create-namespace \
  --set server.service.type=LoadBalancer

Definindo Aplicativos

ArgoCD usa um Application recurso personalizado para definir o que implantar e onde. Aqui está uma definição típica de aplicativo:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-web-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/myorg/k8s-manifests.git
    targetRevision: main
    path: apps/my-web-app/overlays/production
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true
    retry:
      limit: 5
      backoff:
        duration: 5s
        factor: 2
        maxDuration: 3m

O syncPolicy.automated seção permite a sincronização automática. O prune opção remove recursos que não estão mais definidos no Git, enquanto selfHeal reverte alterações manuais feitas diretamente no cluster.

Flux CD: uma abordagem alternativa

O Flux CD adota uma abordagem arquitetural diferente para GitOps. Em vez de um servidor centralizado com uma UI, o Flux opera como um conjunto de controladores Kubernetes, cada um lidando com uma preocupação específica.

Componentes de fluxo

  • Controlador de origem - Gerencia repositórios Git, repositórios Helm e fontes de artefatos OCI.
  • Controlador personalizado - Aplica sobreposições Kustomize e manifestos YAML simples.
  • Controlador de leme - Gerencia lançamentos de gráficos do Helm por meio de HelmRelease recursos personalizados.
  • Controlador de Notificação - Lida com eventos de entrada e saída, integrando-se com Slack, Teams e provedores de webhook.
  • Controladores de automação de imagem - Digitalize registros de contêineres e atualize manifestos quando novas imagens estiverem disponíveis.

Fluxo de inicialização

# Bootstrap Flux on a cluster with a GitHub repository
flux bootstrap github \
  --owner=myorg \
  --repository=fleet-infra \
  --branch=main \
  --path=clusters/production \
  --personal

# Define a HelmRelease
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: nginx-ingress
  namespace: ingress-system
spec:
  interval: 5m
  chart:
    spec:
      chart: ingress-nginx
      version: "4.x"
      sourceRef:
        kind: HelmRepository
        name: ingress-nginx
        namespace: flux-system
  values:
    controller:
      replicaCount: 3
      metrics:
        enabled: true

ArgoCD vs Flux: quando escolher qual

O ArgoCD é ideal quando você precisa de uma interface de usuário da web avançada para visibilidade, multilocação com RBAC refinado e um plano de gerenciamento centralizado. O Flux brilha em ambientes que preferem uma arquitetura leve baseada em controlador, precisam de recursos de automação de imagem ou desejam uma integração mais profunda com o ecossistema Kubernetes API.

Gerenciamento de gráficos Helm em GitOps

Os gráficos Helm são o formato de empacotamento de fato para aplicativos Kubernetes. Em um fluxo de trabalho GitOps, o gerenciamento de valores do Helm em vários ambientes requer uma organização cuidadosa.

# Repository structure for multi-environment Helm management
k8s-manifests/
  base/
    my-app/
      Chart.yaml
      values.yaml          # Default values
      templates/
        deployment.yaml
        service.yaml
        ingress.yaml
  environments/
    dev/
      my-app/
        values.yaml        # Dev overrides
    staging/
      my-app/
        values.yaml        # Staging overrides
    production/
      my-app/
        values.yaml        # Production overrides

Tanto o ArgoCD quanto o Flux oferecem suporte nativo ao Helm. ArgoCD renderiza gráficos do lado do servidor por meio de seu servidor de repositório, enquanto o Flux usa o Helm SDK diretamente em seu Helm Controller.

Estratégias de implantação

A escolha da estratégia de implantação correta minimiza o risco e garante versões sem tempo de inatividade.

Atualizações contínuas

A estratégia Kubernetes padrão. Os pods são gradualmente substituídos por novas versões. Configurar maxSurge e maxUnavailable para controlar a velocidade de implementação.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 5
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  template:
    spec:
      containers:
        - name: app
          image: myapp:v2.1.0
          readinessProbe:
            httpGet:
              path: /health
              port: 8080
            initialDelaySeconds: 5
            periodSeconds: 10

Implantações Azul-Verde

Execute dois ambientes idênticos (azul e verde). Implante a nova versão no ambiente inativo, verifique-a e alterne o tráfego. Isso fornece reversão instantânea, voltando para o ambiente anterior. Implemente com seletores de rótulos de serviço ou gerenciamento de tráfego do Istio.

Implantações Canário

Direcione gradualmente uma pequena porcentagem do tráfego para a nova versão, aumentando a porcentagem à medida que a confiança aumenta. Ferramentas como Flagger e Argo Rollouts automatizam a análise canário com promoção baseada em métricas.

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: my-app
spec:
  replicas: 5
  strategy:
    canary:
      steps:
        - setWeight: 10
        - pause: { duration: 5m }
        - setWeight: 30
        - pause: { duration: 5m }
        - setWeight: 60
        - pause: { duration: 5m }
      canaryService: my-app-canary
      stableService: my-app-stable
      trafficRouting:
        istio:
          virtualService:
            name: my-app-vsvc
            routes:
              - primary

Reversões automatizadas

O GitOps simplifica as reversões: basta reverter o commit do Git. No entanto, reversões automatizadas baseadas em verificações de integridade fornecem uma rede de segurança adicional.

ArgoCD oferece suporte a reversões automatizadas por meio de seu sistema de sincronização e avaliação de integridade. Se um aplicativo entrar em um estado degradado após uma sincronização, o ArgoCD poderá reverter automaticamente para o último estado bom conhecido.

Para cenários de reversão mais sofisticados, Argo Rollouts e Flagger podem analisar métricas do Prometheus, executar testes automatizados e abortar implementações que mostram desempenho degradado.

Gerenciamento de segredos com segredos selados

Armazenar segredos no Git é um desafio crítico para o GitOps. Sealed Secrets resolve isso criptografando segredos que só podem ser descriptografados pelo controlador em execução no cluster de destino.

# Install Sealed Secrets controller
helm repo add sealed-secrets https://bitnami-labs.github.io/sealed-secrets
helm install sealed-secrets sealed-secrets/sealed-secrets \
  --namespace kube-system

# Encrypt a secret
kubectl create secret generic db-credentials \
  --from-literal=username=admin \
  --from-literal=password=s3cure-p@ss \
  --dry-run=client -o yaml | \
  kubeseal --format yaml > db-credentials-sealed.yaml

O resultado SealedSecret recurso pode ser comprometido com segurança no Git. Somente o controlador Sealed Secrets no cluster de destino contém a chave privada necessária para descriptografá-lo. Abordagens alternativas incluem Operador de Segredos Externos (para extrair do AWS Secrets Manager, HashiCorp Vault, etc.) e SOPS para criptografia em nível de arquivo.

Monitorando implantações

A visibilidade do status de implantação é essencial para pipelines de produção de GitOps. Implementar monitoramento em vários níveis:

  • Métricas ArgoCD - ArgoCD expõe métricas do Prometheus para status de sincronização, integridade e duração da operação. Crie painéis Grafana para rastrear a frequência de implantação e as taxas de falha.
  • Eventos Kubernetes - Monitore eventos de agendamento de pod, extração de imagem e sondagem de prontidão para detectar problemas antecipadamente.
  • Verificações de integridade do aplicativo - Configure verificações de integridade personalizadas no ArgoCD usando scripts Lua para definir o que "saudável" significa para seus recursos específicos.
  • Alerta - Integre notificações do ArgoCD com Slack, PagerDuty ou e-mail para alertar sobre falhas de sincronização, degradação da saúde ou detecção de desvios.
# ArgoCD Notification ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-notifications-cm
  namespace: argocd
data:
  trigger.on-sync-failed: |
    - when: app.status.operationState.phase in ['Error', 'Failed']
      send: [slack-notification]
  template.slack-notification: |
    message: |
      Application {{.app.metadata.name}} sync {{.app.status.operationState.phase}}.
      Revision: {{.app.status.sync.revision}}
  service.slack: |
    token: $slack-token
    channel: deployments

Entrega multicluster

À medida que as organizações crescem, a implantação em vários clusters torna-se necessária. ArgoCD oferece suporte nativo ao gerenciamento de vários clusters, registrando clusters externos. O Flux consegue isso por meio de um cluster de gerenciamento que inicializa clusters de carga de trabalho.

O controlador ApplicationSet no ArgoCD é particularmente poderoso para cenários de vários clusters. Ele pode gerar recursos de aplicativos dinamicamente com base em listas de clusters, diretórios Git ou eventos de pull request.

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: my-app-set
  namespace: argocd
spec:
  generators:
    - clusters:
        selector:
          matchLabels:
            env: production
  template:
    metadata:
      name: 'my-app-{{name}}'
    spec:
      project: default
      source:
        repoURL: https://github.com/myorg/k8s-manifests.git
        targetRevision: main
        path: 'apps/my-app/overlays/{{metadata.labels.region}}'
      destination:
        server: '{{server}}'
        namespace: my-app

Conclusão

GitOps com ArgoCD ou Flux CD fornece uma base robusta para entrega contínua Kubernetes. Ao tratar o Git como a fonte da verdade, automatizando a reconciliação e aproveitando estratégias de entrega progressiva, as equipes podem implantar com confiança e se recuperar rapidamente de falhas. Comece com uma configuração simples de cluster único, estabeleça sua estrutura de repositório Git e adote gradualmente padrões avançados, como implantações canário, gerenciamento de vários clusters e políticas de reversão automatizadas à medida que sua plataforma amadurece.

O investimento na infraestrutura GitOps rende dividendos por meio de maior confiabilidade, resposta mais rápida a incidentes, trilhas de auditoria completas e uma experiência de desenvolvedor que torna as implantações tão simples quanto mesclar uma solicitação pull.