CI/CD pro aplikace AKS pomocí Azure Pipelines

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

Důležité

Mikroslužby s AKS a Azure DevOps jsou variantou návrhu kanálu CI/CD pomocí Azure DevOps. Tento článek se zaměřuje na omezující vlastnosti specifické pro AKS při nasazování aplikací AKS se službou Azure Pipelines.

Potenciální případy použití

K nasazení aplikací AKS použijte Azure Pipelines.

Architektura

Diagram architektury kanálu CI/CD AKS s využitím Azure Pipelines

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

  1. Žádost o přijetí změn (PR) do Gitu Azure Repos aktivuje kanál žádosti o přijetí změn. Tento kanál spouští rychlé kontroly kvality, jako je lintování, sestavování a testování jednotek kódu. Pokud některá z kontrol selže, žádost o přijetí změn se nesloučí. Výsledkem úspěšného spuštění tohoto kanálu je úspěšné sloučení žádosti o přijetí změn.
  2. Sloučení do Gitu Azure Repos aktivuje kanál CI. Tento kanál spouští stejné úlohy jako kanál žádosti o přijetí změn s některými důležitými doplňky. Kanál CI spouští integrační testy. Tyto testy vyžadují tajné kódy, takže tento kanál získá tyto tajné kódy ze služby Azure Key Vault.
  3. Výsledkem úspěšného spuštění tohoto kanálu je vytvoření a publikování image kontejneru v neprodukční službě Azure Container Registry.
  4. Dokončení kanálu CI aktivuje kanál CD.
  5. Kanál CD nasadí šablonu YAML do přípravného prostředí AKS. Šablona určuje image kontejneru z neprodukčního prostředí. Kanál pak provede akceptační testy v přípravném prostředí a ověří nasazení. Úloha ručního ověření se spustí, pokud testy proběhnou úspěšně, což vyžaduje, aby osoba ověřila nasazení a obnovila kanál. Krok ručního ověření je volitelný. Některé organizace se automaticky nasadí.
  6. Pokud se ruční zásah obnoví, kanál CD podporuje image z neprodukční služby Azure Container Registry do produkčního registru.
  7. Kanál CD nasadí šablonu YAML do produkčního prostředí AKS. Šablona určuje image kontejneru z produkčního prostředí.
  8. Container Insights pravidelně předává metriky výkonu, data inventáře a informace o stavu z hostitelů kontejnerů a kontejnerů do služby Azure Monitor.
  9. Azure Monitor shromažďuje data pozorovatelnosti, jako jsou protokoly a metriky, aby operátor mohl analyzovat data o stavu, výkonu a využití. Application Insights shromažďuje všechna data monitorování specifická pro aplikace, jako jsou trasování. Azure Log Analytics slouží k ukládání všech dat.

Komponenty

  • Container Insights shromažďuje protokoly a metriky a protokoly a předává je do služby Azure Monitor.
  • Azure Container Registry je spravovaná privátní služba registru kontejnerů v Azure. K ukládání privátních imagí kontejnerů použijte Container Registry.
  • Azure Kubernetes Service je spravovaná služba Kubernetes, kde Azure zpracovává důležité úlohy, jako je monitorování stavu a údržba.
  • Defender for DevOps provádí statickou analýzu a pomáhá získat přehled o stavu zabezpečení napříč několika kanály ve vývoji a nasazení AKS.

Další kroky