CI/CD do contêiner usando Jenkins e kubernetes no serviço kubernetes do Azure (AKS)Container CI/CD using Jenkins and Kubernetes on Azure Kubernetes Service (AKS)

Ideia da solução Solution Idea

Se você quiser nos ver, expanda este artigo com mais informações, detalhes de implementação, diretrizes de preços ou exemplos de código, fale conosco com os comentários do GitHub!If you'd like to see us expand this article with more information, implementation details, pricing guidance, or code examples, let us know with GitHub Feedback!

Os contêineres facilitam a criação e a implantação contínua de aplicativos.Containers make it easy for you to continuously build and deploy applications. Ao orquestrar a implantação desses contêineres usando o AKS (serviço kubernetes do Azure), você pode obter clusters replicáveis e gerenciáveis de contêineres.By orchestrating the deployment of those containers using Azure Kubernetes Service (AKS), you can achieve replicable, manageable clusters of containers.

Ao configurar uma compilação contínua para produzir suas imagens de contêiner e orquestração, você pode aumentar a velocidade e a confiabilidade de sua implantação.By setting up a continuous build to produce your container images and orchestration, you can increase the speed and reliability of your deployment.

ArquiteturaArchitecture

Diagrama de arquitetura Baixe um SVG dessa arquitetura.Architecture diagram Download an SVG of this architecture.

Fluxo de DadosData Flow

  1. Altere o código-fonte do aplicativo.Change application source code.
  2. Confirme o código no GitHub.Commit code to GitHub.
  3. Gatilho de integração contínua para Jenkins.Continuous Integration Trigger to Jenkins.
  4. O Jenkins dispara um trabalho de compilação usando o AKS (serviço kubernetes do Azure) para um agente de compilação dinâmico.Jenkins triggers a build job using Azure Kubernetes Service (AKS) for a dynamic build agent.
  5. O Jenkins compila e envia o contêiner do Docker para o registro de contêiner do Azure.Jenkins builds and pushes Docker container to Azure Container Registry.
  6. O Jenkins implanta seu novo aplicativo em contêineres no kubernetes no Azure.Jenkins deploys your new containerized app to Kubernetes on Azure.
  7. Serviço de contêiner (AKS), apoiado por Azure Cosmos DB.Container Service (AKS), backed by Azure Cosmos DB.
  8. Grafana exibe a visualização das métricas de infraestrutura e aplicativo por meio de Azure Monitor.Grafana displays visualization of infrastructure and application metrics via Azure Monitor.
  9. Monitore o aplicativo e faça melhorias.Monitor application and make improvements.

ComponentesComponents

  • AKs (serviço kubernetes do Azure): Simplifique a implantação, o gerenciamento e as operações do kubernetes.Azure Kubernetes Service (AKS): Simplify the deployment, management, and operations of Kubernetes.
  • Registro de contêiner: armazene e gerencie imagens de contêiner em todos os tipos de implantações do Azure.Container Registry: Store and manage container images across all types of Azure deployments.
  • Azure Cosmos DB: banco de dados multimodelo distribuído globalmente para qualquer escala.Azure Cosmos DB: Globally distributed, multi-model database for any scale.
  • Azure monitor: dados de monitoramento altamente granulares e em tempo real para qualquer recurso do Azure.Azure Monitor: Highly granular and real-time monitoring data for any Azure resource.
  • Visual Studio Code: Crie e implante aplicativos de várias plataformas para obter o máximo dos serviços do Azure.Visual Studio Code: Build and deploy multi-platform apps to get the most from Azure services.

Próximas etapasNext steps

Implantar no AzureDeploy to Azure