CI/CD para aplicativos AKS com o Azure Pipelines

Registro de Contêiner do Azure
Azure DevOps
AKS (Serviço de Kubernetes do Azure)
GitHub

Importante

Microsserviços com AKS e Azure DevOps é uma variante de Criar um pipeline de CI/CD por meio do Azure DevOps. Este artigo concentra-se nas facetas específicas do AKS da implantação de aplicativos do AKS com o Azure Pipelines.

Possíveis casos de uso

Use o Azure Pipelines para implantar aplicativos do AKS.

Arquitetura

Architecture diagram of an AKS CI/CD pipeline using Azure Pipelines.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

  1. Uma PR (solicitação de pull) para Git do Azure Repos dispara um pipeline de PR. Esse pipeline executa verificações de qualidade rápidas, como lint, criação e teste de unidade do código. Se uma das verificações falhar, o PR não mesclará. O resultado de uma execução deste pipeline com êxito é uma mesclagem bem-sucedida do PR.
  2. Uma mesclagem para Git do Azure Repos dispara um pipeline de CI. Esse pipeline executa as mesmas tarefas que o pipeline de PR com adições importantes. O pipeline de CI executa testes de integração. Esses testes exigem segredos; então, este pipeline obtém esses segredos do Azure Key Vault.
  3. O resultado de uma execução bem-sucedida desse pipeline é a criação e a publicação de uma imagem de contêiner em um Registro de Contêiner do Azure que não é de produção.
  4. A conclusão do pipeline de CI dispara o pipeline de CD.
  5. O pipeline de CD implanta um modelo YAML no ambiente AKS de preparo. O modelo especifica a imagem do contêiner do ambiente que não é de produção. O pipeline realiza testes de aceitação no ambiente de preparo para validar a implantação. Se os testes tiverem êxito, uma tarefa de validação manual será executada, exigindo que uma pessoa valide a implantação e retome o pipeline. A etapa de validação manual é opcional. Algumas organizações serão implantadas de forma automática.
  6. Se a intervenção manual for retomada, o pipeline de CD promoverá a imagem do Registro de Contêiner do Azure que não é de produção para o registro de produção.
  7. O pipeline de CD implanta um modelo YAML no ambiente AKS de produção. O modelo especifica a imagem do contêiner do ambiente de produção.
  8. O Container Insights encaminha periodicamente métricas de desempenho, dados de inventário e informações de estado de integridade de contêineres e hosts de contêiner para o Azure Monitor.
  9. O Azure Monitor coleta dados de observabilidade, como logs e métricas, para permitir que um operador analise dados de integridade, desempenho e uso. O Application Insights coleta todos os dados de monitoramento específicos do aplicativo, como rastreamentos. O Azure Log Analytics é usado para armazenar todos esses dados.

Componentes

  • O Container Insights coleta logs e métricas e os encaminha ao Azure Monitor.
  • O Registro de Contêiner do Azure é um serviço de registro de contêiner privado gerenciado no Azure. Use o Registro de Contêiner para armazenar imagens de contêiner privadas.
  • O Serviço Kubernetes do Azure é um serviço Kubernetes gerenciado em que o Azure trata tarefas essenciais, como monitoramento e manutenção de integridade.
  • O Defender para DevOps realiza análises estáticas e o ajuda a obter visibilidade de posturas de segurança em vários pipelines no desenvolvimento e na implantação do AKS.

Próximas etapas