CI/CD pour les applications AKS avec Azure Pipelines
Important
Les microservices avec AKS et Azure DevOps sont une variante de conception d’un pipeline CI/CD à l’aide d’Azure DevOps. Cet article se concentre sur les facettes spécifiques à AKS du déploiement d’applications AKS avec Azure Pipelines.
Cas d’usage potentiels
Utilisez Azure Pipelines pour déployer des applications AKS.
Architecture
Téléchargez un fichier Visio de cette architecture.
Flux de données
- Une demande de tirage (PULL) vers Azure Repos Git déclenche un pipeline de demande de tirage. Ce pipeline exécute des vérifications de qualité rapides telles que le linting, la génération et le test unitaire du code. Si l’une des vérifications échoue, la demande de tirage ne se fusionne pas. Le résultat d’une exécution réussie de ce pipeline est une fusion réussie de la demande de tirage.
- Une fusion vers Azure Repos Git déclenche un pipeline CI. Ce pipeline exécute les mêmes tâches que le pipeline de demande de tirage avec quelques ajouts importants. Le pipeline CI exécute des tests d’intégration. Ces tests nécessitent des secrets. Ce pipeline obtient donc ces secrets à partir d’Azure Key Vault.
- Le résultat d’une exécution réussie de ce pipeline est la création et la publication d’une image conteneur dans un Registre de conteneurs Azure non de production.
- L’achèvement du pipeline CI déclenche le pipeline CD.
- Le pipeline CD déploie un modèle YAML dans l’environnement AKS intermédiaire. Le modèle spécifie l’image conteneur de l’environnement hors production. Le pipeline effectue ensuite des tests d’acceptation sur l’environnement intermédiaire pour valider le déploiement. Une tâche de validation manuelle est exécutée si les tests réussissent, ce qui oblige une personne à valider le déploiement et à reprendre le pipeline. L’étape de validation manuelle est facultative. Certaines organisations déploieront automatiquement.
- Si l’intervention manuelle est reprise, le pipeline CD promeut l’image du registre de conteneurs Azure hors production vers le registre de production.
- Le pipeline CD déploie un modèle YAML dans l’environnement AKS de production. Le modèle spécifie l’image conteneur de l’environnement de production.
- Container Insights transfère régulièrement les métriques de performances, les données d’inventaire et les informations d’état d’intégrité des hôtes de conteneur et des conteneurs vers Azure Monitor.
- Azure Monitor collecte des données d’observabilité telles que les journaux et les métriques afin qu’un opérateur puisse analyser les données d’intégrité, de performances et d’utilisation. Application Insights collecte toutes les données de surveillance spécifiques à l’application, telles que les traces. Azure Log Analytics est utilisé pour stocker toutes ces données.
Composants
- Container Insights collecte les journaux et les métriques et les journaux et les transfère à Azure Monitor.
- Azure Container Registry est un service de registre de conteneurs privé géré sur Azure. Utilisez Container Registry pour stocker des images conteneur privées.
- Azure Kubernetes Service est un service Kubernetes managé où Azure gère les tâches critiques, telles que la surveillance et la maintenance de l’intégrité.
- Defender pour DevOps effectue une analyse statique et vous aide à obtenir une visibilité des postures de sécurité sur plusieurs pipelines dans le développement et le déploiement AKS.
Étapes suivantes
- Pour en savoir plus sur la feuille de route du produit AKS, consultez la feuille de route d’Azure Kubernetes Service (AKS) sur GitHub.
- Si vous avez besoin d’un actualiseur dans Kubernetes, suivez la présentation de Kubernetes sur le parcours d’apprentissage Azure.
Ressources associées
- Pour en savoir plus sur l’hébergement de microservices sur AKS, consultez l’architecture des microservices sur Azure Kubernetes Service (AKS).
- Suivez le parcours de la solution Azure Kubernetes Service.