CI/CD para aplicativos AKS com o Azure Pipelines
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
Baixe um arquivo do Visio dessa arquitetura.
Fluxo de dados
- 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.
- 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.
- 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.
- A conclusão do pipeline de CI dispara o pipeline de CD.
- 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.
- 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.
- 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.
- 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.
- 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
- Para saber mais sobre o roteiro do produto AKS, consulte o Roteiro do AKS (Serviço de Kubernetes do Azure) no GitHub.
- Se você precisar de um atualizador no Kubernetes, conclua a introdução ao Kubernetes no roteiro de aprendizagem do Azure.
Recursos relacionados
- Para saber mais sobre como hospedar microsserviços no AKS, consulte a arquitetura de microsserviços no AKS (Serviço de Kubernetes do Azure).
- Siga o percurso da solução do Serviço de Kubernetes do Azure.