Compartilhar via


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

Os microsserviços com AKS e Azure DevOps são uma variante do design de um pipeline de CI/CD usando o Azure DevOps. Este artigo se concentra nas facetas específicas do AKS da implantação de aplicativos AKS com o Azure Pipelines.

Possíveis casos de uso

Use o Azure Pipelines para implantar aplicativos AKS.

Arquitetura

Diagrama de arquitetura de um pipeline de CI/CD do AKS usando o Azure Pipelines.

Baixe um arquivo do Visio dessa arquitetura.

Fluxo de dados

  1. Uma PR (solicitação de pull) para o Git do Azure Repos dispara um pipeline de PR. Esse pipeline executa verificações de qualidade rápidas, como linting, criação e teste de unidade do código. Se qualquer uma das verificações falhar, a PR não será mesclada. O resultado de uma execução bem-sucedida desse pipeline é uma mesclagem bem-sucedida da PR.
  2. Uma mesclagem no Git do Azure Repos dispara um pipeline de CI. Esse pipeline executa as mesmas tarefas que o pipeline de PR com algumas adições importantes. O pipeline de CI executa testes de integração. Esses testes exigem segredos, portanto, esse pipeline obtém esses segredos do Azure Key Vault.
  3. O resultado de uma execução bem-sucedida desse pipeline é a criação e 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 do AKS de preparo. O modelo especifica a imagem de contêiner do ambiente de não produção. Em seguida, o pipeline executa testes de aceitação no ambiente de preparo para validar a implantação. Uma tarefa de validação manual será executada se os testes forem bem-sucedidos, 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 automaticamente.
  6. Se a intervenção manual for retomada, o pipeline de CD promoverá a imagem do Registro de Contêiner do Azure de não produção para o registro de produção.
  7. O pipeline de CD implanta um modelo YAML no ambiente do AKS de produção. O modelo especifica a imagem de 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 hosts e contêineres de contêineres para o Azure Monitor.
  9. O Azure Monitor coleta dados de observabilidade, como logs e métricas, para que um operador possa analisar 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 logs e os encaminha para o 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 de Kubernetes do Azure é um serviço de Kubernetes gerenciado em que o Azure lida com tarefas críticas, como monitoramento de integridade e manutenção.
  • O Defender para DevOps executa análises estáticas e ajuda você a obter visibilidade das posturas de segurança em vários pipelines no desenvolvimento e na implantação do AKS.

Próximas etapas