CI/CD de contenedores con Jenkins y Kubernetes en Azure Kubernetes Service (AKS)

Container Registry
Cosmos DB
Kubernetes Service
Monitor

Idea de solución

Si le gustaría que expandamos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comuníquese a través de los Comentarios de GitHub.

Los contenedores facilitan la compilación e implementación continuas de aplicaciones. La orquestación de la implementación de esos contenedores mediante Azure Kubernetes Service (AKS) permite conseguir clústeres replicables y administrables de contenedores.

Mediante la configuración de una compilación continua para producir las imágenes y la orquestación de contenedores, puede aumentar la velocidad y la confiabilidad de la implementación.

Architecture

Diagrama de la arquitectura Descargue un SVG de esta arquitectura.

Flujo de datos

  1. Cambie el código fuente de la aplicación.
  2. Confirme el código en GitHub.
  3. Desencadene la integración continua en Jenkins.
  4. Jenkins desencadena un trabajo de compilación mediante Azure Kubernetes Service (AKS) para un agente de compilación dinámico.
  5. Jenkins crea y envía un contenedor de Docker a Azure Container Registry.
  6. Jenkins implementa la nueva aplicación en contenedor en Kubernetes en Azure.
  7. Container Service (AKS), respaldado por Azure Cosmos DB.
  8. Grafana muestra la visualización de métricas de infraestructura y aplicación mediante Azure Monitor.
  9. Supervise la aplicación y realice mejoras.

Componentes

  • Azure Kubernetes Service (AKS): Simplifique la implementación, la administración y las operaciones de Kubernetes.
  • Container Registry (Registro de contenedor): Almacene y administre imágenes de contenedor en todos los tipos de implementaciones de Azure.
  • Azure Cosmos DB: Base de datos multimodelo distribuida globalmente para cualquier escala.
  • Azure Monitor: Datos de supervisión en tiempo real y muy pormenorizados para cualquier recurso de Azure.
  • Visual Studio Code: Cree e implemente aplicaciones multiplataforma para sacar el máximo partido de los servicios de Azure.

Implementación de la solución

Pasos siguientes