Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Integre o Argo CD ao ASM para GitOps

Última atualização: Sep 15, 2026

O Argo CD monitora as configurações de orquestração de aplicações em um repositório git, compara-as com o estado ativo das aplicações em um cluster e sincroniza as alterações automática ou manualmente para o cluster de destino. Para aumentar a eficiência e a rastreabilidade das implantações de serviços em um ambiente Kubernetes, integre o Argo CD ao ASM e implemente um fluxo de trabalho GitOps. Essa abordagem utiliza um sistema de controle de versão para sincronizar e implantar aplicações automaticamente. O processo simplifica a implantação, garante a consistência das configurações, oferece um histórico operacional transparente, melhora a manutenção e a estabilidade do sistema e reduz os custos operacionais.

Pré-requisitos

Informações básicas

GitOps é um método para implementar a implantação contínua de aplicações cloud-native. O Alibaba Cloud Service Mesh (ASM) integra-se ao Argo CD para lançar e atualizar aplicações via GitOps. Os desenvolvedores enviam definições de aplicações (Deployment, Service) e regras de gerenciamento de tráfego (VirtualService, Gateway, DestinationRule) escritas em YAML para um repositório git. O Argo CD monitora o estado atual dos recursos da aplicação no cluster, como Deployment, Service e VirtualService, e o compara com o estado desejado definido no repositório git, que atua como fonte da verdade. Quando o repositório é atualizado, o Argo CD permite a sincronização e a implantação automática ou manual da aplicação.ArgoCD

Etapa 1: Instale o Argo CD

Instale o Argo CD manualmente ou utilize o recurso integrado disponível no Application Center do Container Service for Kubernetes (ACK). Este tópico demonstra a instalação manual do Argo CD integrado ao ASM para um fluxo de trabalho GitOps.

  • Para instalar o Argo CD manualmente, consulte a documentação do Argo CD.

  • O Application Center do ACK oferece um recurso nativo do Argo CD, eliminando a necessidade de instalação manual. Esse centro permite verificar o status da aplicação, implantar versões em clusters Kubernetes usando repositórios git e Helm charts, além de executar rollbacks e lançamentos. Para mais informações, consulte Application Center overview.

Etapa 2: Ative o acesso KubeAPI do plano de dados

Como o Alibaba Cloud Service Mesh (ASM) é um plano de controle gerenciado e compatível com Istio, o plano de controle do Service Mesh ASM e o plano de dados (Container Service for Kubernetes - ACK) residem em clusters Kubernetes diferentes. Portanto, ative o acesso KubeAPI do plano de dados no ASM para permitir que o Argo CD acesse os recursos do Istio no cluster ASM da mesma forma que acessa os recursos no cluster ACK.

  1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

  2. Na página Mesh Management, localize a instância do ASM que deseja configure. Clique no nome da instância ou clique em Manage na coluna Actions.

  3. Na seção Basic Information, clique em Enable ao lado de Enable Data-plane KubeAPI access.

  4. Na caixa de diálogo exibida, clique em Submit.

Etapa 3: Crie um gateway ASM

  1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

  2. Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

  3. Na página Ingress Gateway, clique em Create. Defina as configurações e clique em Create.

    A tabela a seguir descreve alguns dos parâmetros. Para obter detalhes sobre todos os parâmetros, consulte Create an ingress gateway.

    Parâmetro

    Descrição

    Name

    Este tópico usa ingressgateway como exemplo.

    Gateway types

    Para North-South IngressGateway, selecione North-South-Ingress.

    Port Mapping

    Clique em Add Port e configure os seguintes protocolos e portas.

    • Defina Protocol como HTTP e Service Port como 80.

    • Defina Protocol como HTTPS e Service Port como 443.

Etapa 4: Implante recursos do Istio com o Argo CD

Defina os recursos do Istio como manifests do Kubernetes e armazene-os no repositório git junto com os manifests da sua aplicação.

  1. Crie a aplicação de exemplo Bookinfo.

    1. Na interface do Argo CD, clique em NEW APP e configure as seguintes opções.

      • Na seção GENERAL, defina Application Name como bookinfo, Project como default e selecione PRUNE RESOURCES.

      • Na seção SOURCE, defina Repository URL como https://github.com/AliyunContainerService/asm-labs.git, Revision como argocd-asm e Path como argo-cd/bookinfo.

      • Na seção DESTINATION, defina Cluster URL como https://kubernetes.default.svc e Namespace como default.

    2. Após concluir a configuração, clique em CREATE na parte superior da página.

      Após a criação, a aplicação bookinfo aparece na lista de aplicações do Argo CD com status Healthy (ícone de coração verde) e Synced (ícone de verificação verde). Isso indica que a aplicação foi sincronizada com sucesso no cluster de destino. Clique em bookinfo para acessar a página de detalhes da aplicação, onde APP HEALTH exibe Healthy e CURRENT SYNC STATUS mostra Synced. A árvore de recursos contém os recursos de Deployment (details-v1, productpage-v1, ratings-v1, reviews-v1, reviews-v2 e reviews-v3), seus ReplicaSets e Pods associados (com status running 2/2), além dos recursos DestinationRule (details, productpage e reviews), Gateway (bookinfo-gateway) e VirtualService (bookinfo), todos em estado sincronizado e saudável.

  2. Verifique o status dos recursos no console do ASM.

    1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

    2. Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha Traffic Management Center > VirtualService.

    3. Na página Virtual Service, confirme que o VirtualService bookinfo foi criado.

  3. Valide o status dos recursos no console do ACK.

    1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

    2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Workloads > Deployments.

    3. Confirme a criação dos Deployments. A página exibe seis Deployments criados com sucesso, cada um com um Pod em execução: details-v1, productpage-v1, ratings-v1, reviews-v1, reviews-v2 e reviews-v3.

  4. Acesse a aplicação por meio do gateway ASM.

    1. Obtenha o endereço do gateway ASM.

      1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

      2. Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

      3. Na página Ingress Gateway, copie o Service address do gateway de destino.

    2. No navegador, acesse http://{YOUR_ASM_GATEWAY_ADDRESS}/productpage.

      A página da aplicação Bookinfo carrega, exibindo detalhes do livro The Comedy of Errors. Como o serviço Reviews possui três versões e nenhuma regra de roteamento específica foi aplicada ainda, a seção de avaliações muda a cada atualização da página. Por exemplo, uma atualização pode mostrar Reviews served by: reviews-v3-xxx na parte inferior da seção de avaliações. Esse comportamento confirma que a aplicação está acessível pelo gateway ASM e que os recursos do Istio foram implantados com sucesso.

Etapa 5: Implemente o roteamento de tráfego orientado por GitOps

Após configurar as regras de tráfego, acesse http://{your ASM Gateway address}/productpage. Apenas a versão v1 do Reviews é exibida se você não estiver logado, enquanto a versão v2 do Reviews aparece ao fazer login com o nome de usuário jason.

  1. Modifique os arquivos YAML locais do VirtualService e do Deployment.

    • Altere o arquivo YAML do VirtualService conforme abaixo:

      apiVersion: networking.istio.io/v1alpha3
      kind: VirtualService
      metadata:
        name: reviews
      spec:
        hosts:
          - reviews
        http:
        - match:
          - headers:
              end-user:
                exact: jason
          route:
          - destination:
              host: reviews
              subset: v2
        - route:
          - destination:
              host: reviews
              subset: v1
      ---
    • Atualize o arquivo YAML do Deployment da seguinte forma:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        namespace: argocd
        name: reviews-v1
        labels:
          app: reviews
          version: v1
      spec:
        replicas: 2
  2. Faça commit e push das alterações para o seu repositório git.

    git add *
    git commit -m "reviews-v1"
    git push
  3. Sincronize a configuração do git com o cluster.

    Se a sincronização automática estiver ativada no Argo CD, as configurações são sincronizadas automaticamente com o cluster. Caso contrário, siga estas etapas para sincronizá-las manualmente.

    1. No cartão bookinfo da interface de gerenciamento do Argo CD, clique em SYNC.

      Quando um arquivo é alterado, o status OutOfSync aparece à direita de Status no cartão bookinfo. O status da aplicação bookinfo passa a ser OutOfSync.

    2. No painel exibido, clique em SYNCHRONIZE.

      Após a conclusão da sincronização, visualize os recursos criados no console do ASM e os recursos atualizados no console do ACK. Para mais informações, consulte Verify the resource status on the ASM console e Verify the resource status on the ACK console.

  4. Verifique o resultado do acesso.

    1. Sem fazer login, acesse http://{YOUR_ASM_GATEWAY_ADDRESS}/productpage no navegador.

      Resultado: Todo o tráfego para o serviço Reviews é roteado para v1 (sem classificação por estrelas). A página de detalhes do product Bookinfo carrega, mostrando o resumo de The Comedy of Errors, Book Details (Type: paperback, Pages: 200, Publisher: PublisherA, Language: English, ISBN-10: 1234567890, ISBN-13: 123-1234567890) e Book Reviews. A parte inferior da seção de avaliações exibe o nome do Pod da instância do microsserviço, como reviews-v1-55b668fc65-s48wm, indicando que a aplicação foi implantada com sucesso e está acessível.

    2. Faça login com o nome de usuário jason e qualquer senha.

      Resultado: Após o login, o tráfego para o serviço Reviews é roteado para v2 (classificação com estrelas pretas). O nome de usuário jason e um link sign out aparecem no canto superior direito da página. As classificações por estrelas e a presença do nome de usuário jason confirmam que o login foi realizado com sucesso e que o tráfego está sendo roteado para o serviço v2.