Compartilhar via


Implantação remota e CI com GitOps e Flux

Este artigo descreve como implantar aplicativos no cluster do AKS Edge Essentials habilitado para Arc. As etapas são as seguintes:

  1. Aponte para seu aplicativo GitHub para o portal do Azure.
  2. Envie seu aplicativo por push para o cluster do AKS Edge Essentials instalando a configuração do GitOps.
  3. Confirme uma alteração em seu aplicativo GitHub e mostre que seu aplicativo é atualizado automaticamente.

Observação

Verifique se você alocou pelo menos 4 GB de RAM e 4 CPUs para a VM do Linux, bem como um intervalo de IP de serviço maior que 0. Você também pode precisar de um espaço em disco maior do que os 10 GB padrão, dependendo de suas cargas de trabalho.

Etapa 1: bifurcar o repositório de aplicativos de demonstração

Vá para o repositório Jumpstart do Azure Arc e bifurque-o para sua conta do GitHub.

Etapa 2: criar configuração

Vá para o cluster no portal do Azure e selecione GitOps. Em seguida, crie uma configuração no nível do cluster e uma configuração no nível do namespace. Selecione Criar e Flux versão 2.

Configuração no nível do cluster

Atributo Entrada
Nome da configuração config-nginx
Namespace ingress-nginx
Escopo Cluster
Tipo de origem Repositório do Git
URL do repositório <URL do seu fork>
Tipo de referência Branch
Branch main
Tipo do repositório Setor Público
Intervalo de sincronização 1
Tempo limite de sincronização 10
Kustomização
Nome da instância nginx
Caminho ./nginx/release
Intervalo de sincronização 10
Tempo limite de sincronização 10
Remover Enabled
Force Não habilitado

Aguarde até que o config-nginx seja criado com êxito e visível no GitOps do portal do Azure antes de criar a configuração no nível do namespace (você pode passar para a criação da próxima configuração se a conformidade estiver em um estado pendente).

Captura de tela mostrando a configuração no nível do cluster.

Configuração no nível do namespace

Atributo Entrada
Nome da configuração config-helloarc
Namespace hello-arc
Escopo Namespace
Tipo de origem Repositório Git
URL do repositório <URL do seu fork>
Tipo de referência Branch
Branch main
Tipo do repositório Setor Público
Intervalo de sincronização 1
Tempo limite de sincronização 10
Kustomização
Nome da instância app
Caminho ./hello-arc/releases/app
Intervalo de sincronização 10
Tempo limite de sincronização 10
Remover Enabled
Force Não habilitado

Captura de tela mostrando a configuração no nível do namespace.

Atualize sua tabela de configuração e aguarde até que a configuração seja instalada e compatível. Usando kubectlo , verifique se o serviço está em execução:

kubectl get svc -n ingress-nginx
kubectl get pods -n hello-arc

Captura de tela mostrando o serviço hello-arc.

Abra um navegador da Web e navegue até o IP do nó, que é o external-IP do seu ingress-nginx-controller:

Captura de tela do sucesso do aplicativo hello-arc.

Etapa 3: criar a configuração do Windows (opcional)

Se você tiver um nó do Windows, também poderá habilitar o flux2 para Windows. O exemplo hello-arc-windows usa um contêiner hello-arc do Windows.

Dica

Os contêineres do Windows são maiores em tamanho do que os contêineres do Linux. O download do contêiner hello-arc-windows pode levar até 15 minutos.

Crie uma nova configuração no nível do namespace para nós do Windows.

Configuração no nível do namespace para Windows

Atributo Entrada
Nome da configuração config-helloarc-windows
Namespace hello-arc
Escopo Namespace
Tipo de origem Repositório Git
URL do repositório <URL do seu fork>
Tipo de referência Branch
Branch main
Tipo do repositório Setor Público
Intervalo de sincronização 1
Tempo limite de sincronização 10
Kustomização
Nome da instância app
Caminho ./hello-arc-windows/releases/app
Intervalo de sincronização 10
Tempo limite de sincronização 10
Remover Enabled
Force Não habilitado

Etapa 4: atualizar seu aplicativo usando o GitOps

  1. No fork do repositório azure-arc-jumpstart-apps, navegue até hello-arc > versões > aplicativo >hello-arc.yaml.

  2. Faça uma alteração neste arquivo YAML selecionando Editar. Altere o replicaCount para 5. Altere o valor para "Implantando no AKS Edge Essentials Gitops!"

  3. Confirme essa alteração.

    Observação

    Como definimos o intervalo de sincronização como 1 min ao criar a configuração, o Flux efetua pull das alterações do GitHub a cada minuto.

    Captura de tela mostrando hello-arc yaml.

  4. Use kubectl para ver os pods antigos serem encerrados e os novos pods ficarem online:

    kubectl get pods -n hello-arc -w
    

    Captura de tela mostrando a atualização contínua dos pods.

  5. Atualize seu aplicativo para ver essa alteração refletida como uma atualização sem interrupção:

    Captura de tela mostrando o aplicativo hello-arc atualizado.

Para obter mais informações sobre o GitOps, consulte o guia de início rápido do Azure Arc.

Próximas etapas