Bearbeiten

CI/CD für AKS-Apps mit Azure Pipelines

Azure Container Registry
Azure DevOps
Azure Kubernetes Service (AKS)
GitHub

Wichtig

Microservices mit AKS und Azure DevOps sind eine Variante des Entwerfens einer CI/CD-Pipeline mithilfe von Azure DevOps. Dieser Artikel befasst sich mit den AKS-spezifischen Aspekten der Bereitstellung von AKS-Anwendungen mit Azure Pipelines.

Mögliche Anwendungsfälle

Verwenden Sie Azure Pipelines zur Bereitstellung von AKS-Anwendungen.

Aufbau

Architecture diagram of an AKS CI/CD pipeline using Azure Pipelines.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Ein Pull Request (PR) für Azure Repos-Git löst eine PR-Pipeline aus. Diese Pipeline führt schnelle Qualitätsüberprüfungen aus, z. B. Linten, Erstellung und Komponententests für den Code. Sollte eine der Überprüfungen nicht erfolgreich sein, wird der PR nicht zusammengeführt. Das Ergebnis einer erfolgreichen Ausführung dieser Pipeline ist eine erfolgreiche Zusammenführung des PR.
  2. Eine Zusammenführung mit Azure Repos-Git löst eine CI-Pipeline aus. Diese Pipeline führt die gleichen Aufgaben wie die PR-Pipeline aus, allerdings mit einigen wichtigen Ergänzungen. Die CI-Pipeline führt Integrationstests durch. Für diese Tests sind Geheimnisse erforderlich. Diese werden von der Pipeline aus Azure Key Vault abgerufen.
  3. Das Ergebnis einer erfolgreichen Ausführung dieser Pipeline ist die Erstellung und Veröffentlichung eines Containerimage in einer nicht für Produktionsumgebungen bestimmten Azure Container Registry.
  4. Der Abschluss der CI-Pipeline löst die CD-Pipeline aus.
  5. Die CD-Pipeline stellt eine YAML-Vorlage für die AKS-Stagingumgebung bereit. Die Vorlage gibt das Containerimage aus der Nicht-Produktionsumgebung an. Anschließend führt die Pipeline Akzeptanztests für die Stagingumgebung durch, um die Bereitstellung zu überprüfen. Sind die Tests erfolgreich, wird eine manuelle Überprüfungsaufgabe ausgeführt, bei der eine Person die Bereitstellung überprüfen und die Pipeline fortsetzen muss. Der manuelle Validierungsschritt ist optional. Bei manchen Organisationen erfolgt die Bereitstellung automatisch.
  6. Wenn der manuelle Eingriff fortgesetzt wird, wird das Image vom nicht für Produktionsumgebungen bestimmten Azure Container Registry-Dienst über die CD-Pipeline zum Registry-Dienst der Produktionsumgebung hochgestuft.
  7. Die CD-Pipeline stellt eine YAML-Vorlage für die AKS-Produktionsumgebung bereit. Die Vorlage gibt das Containerimage aus der Produktionsumgebung an.
  8. Container Insights leitet Leistungsmetriken, Inventardaten und Integritätszustandsinformationen von Container-Hosts und Containern regelmäßig an Azure Monitor weiter.
  9. Azure Monitor sammelt Beobachtungsdaten wie Protokolle und Metriken, sodass ein Operator Integritäts-, Leistungs- und Nutzungsdaten analysieren kann. Application Insights sammelt alle anwendungsspezifischen Überwachungsdaten, z. B. Ablaufverfolgungen. Azure Log Analytics wird verwendet, um alle diese Daten zu speichern.

Komponenten

  • Container Insights sammelt Protokolle und Metriken und leitet sie an Azure Monitor weiter.
  • Azure Container Registry ist ein verwalteter, privater Containerregistrierungsdienst in Azure. Verwenden Sie Container Registry, um private Containerimages zu speichern.
  • Azure Kubernetes Service ist ein verwalteter Kubernetes-Dienst, in dem Azure wichtige Aufgaben wie Integritätsüberwachung und -wartung übernimmt.
  • Defender for DevOps führt statische Analysen durch und hilft Ihnen dabei, einen Überblick über die Sicherheitslage in den verschiedenen Pipelines der AKS-Entwicklung und -Bereitstellung zu erhalten.

Nächste Schritte