CI/CD för AKS-appar med Azure Pipelines

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

Viktigt!

Mikrotjänster med AKS och Azure DevOps är en variant av Designa en CI/CD-pipeline med Azure DevOps. Den här artikeln fokuserar på AKS-specifika aspekter av distribution av AKS-program med Azure Pipelines.

Potentiella användningsfall

Använd Azure Pipelines för att distribuera AKS-program.

Arkitektur

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

Ladda ned en Visio-fil med den här arkitekturen.

Dataflöde

  1. En pull-begäran (PR) till Azure Repos Git utlöser en PR-pipeline. Den här pipelinen kör snabba kvalitetskontroller, till exempel lintning, skapande och enhetstestning av koden. Om någon av kontrollerna misslyckas sammanfogas inte PR. Resultatet av en lyckad körning av den här pipelinen är en lyckad sammanslagning av PR.
  2. En sammanslagning till Azure Repos Git utlöser en CI-pipeline. Den här pipelinen kör samma uppgifter som PR-pipelinen med några viktiga tillägg. CI-pipelinen kör integreringstester. Dessa tester kräver hemligheter, så den här pipelinen hämtar dessa hemligheter från Azure Key Vault.
  3. Resultatet av en lyckad körning av den här pipelinen är skapandet och publiceringen av en containeravbildning i ett Azure Container Registry som inte är produktion.
  4. Slutförandet av CI-pipelinen utlöser CD-pipelinen.
  5. CD-pipelinen distribuerar en YAML-mall till AKS-mellanlagringsmiljön. Mallen anger containeravbildningen från icke-produktionsmiljön. Pipelinen utför sedan godkännandetester mot mellanlagringsmiljön för att verifiera distributionen. En manuell valideringsuppgift körs om testerna lyckas, vilket kräver att en person verifierar distributionen och återupptar pipelinen. Det manuella verifieringssteget är valfritt. Vissa organisationer distribueras automatiskt.
  6. Om den manuella åtgärden återupptas höjer CD-pipelinen upp avbildningen från Det icke-produktionsbaserade Azure Container Registry till produktionsregistret.
  7. CD-pipelinen distribuerar en YAML-mall till AKS-produktionsmiljön. Mallen anger containeravbildningen från produktionsmiljön.
  8. Container Insights vidarebefordrar regelbundet prestandamått, inventeringsdata och hälsotillståndsinformation från containervärdar och containrar till Azure Monitor.
  9. Azure Monitor samlar in observerbarhetsdata som loggar och mått så att en operatör kan analysera hälso-, prestanda- och användningsdata. Application Insights samlar in alla programspecifika övervakningsdata, till exempel spårningar. Azure Log Analytics används för att lagra alla dessa data.

Komponenter

  • Container Insights samlar in loggar och mått och loggar och vidarebefordrar dem till Azure Monitor.
  • Azure Container Registry är en hanterad, privat containerregistertjänst i Azure. Använd Container Registry för att lagra privata containeravbildningar.
  • Azure Kubernetes Service är en hanterad Kubernetes-tjänst där Azure hanterar kritiska uppgifter, till exempel hälsoövervakning och underhåll.
  • Defender för DevOps utför statisk analys och hjälper dig att få insyn i säkerhetsstatus i flera pipelines i AKS-utveckling och distribution.

Nästa steg