Mikrotjänster med AKS och Azure DevOps

Container Registry
Azure DevOps
Kubernetes Service
GitHub

Viktigt

Mikrotjänster med AKS och Azure DevOps är en variant av Utforma en CI/CD-pipeline med Azure DevOps. Den här artikeln fokuserar på DE AKS-specifika fasetter för distribution.

Potentiella användningsfall

Använd AKS för att förenkla distributionen och hanteringen av mikrotjänstbaserad arkitektur. AKS effektiviserar horisontell skalning, självåterställning, belastningsutjämning och hemlighetshantering.

Arkitektur

Arkitekturdiagram över en AKS CI/CD-pipeline med Hjälp av 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 som linting, building och unit som testar koden. Om någon av kontrollerna misslyckas sammanfogas inte pull-begäran. Resultatet av en lyckad körning av den här pipelinen är en lyckad sammanslagning av pull-begäran.
  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. De här testerna 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 en Azure Container Repository som inte är produktionsbaserad.
  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 acceptanstester mot mellanlagringsmiljön för att verifiera distributionen. Om testerna lyckas körs en manuell valideringsuppgift som 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 befordrar CD-pipelinen avbildningen från den 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 prestandamått, inventeringsdata och hälsotillståndsinformation från containervärdar och containrar till Azure Monitor var tredje minut.
  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.

Nästa steg