CI/CD per le app del servizio Azure Kubernetes con Azure Pipelines

Registro Azure Container
Azure DevOps
Servizio Azure Kubernetes
GitHub

Importante

I microservizi con il servizio Azure Kubernetes e Azure DevOps sono una variante di Progettare una pipeline CI/CD usando Azure DevOps. Questo articolo è incentrato sui facet specifici del servizio Azure Kubernetes per la distribuzione di applicazioni del servizio Azure Kubernetes con Azure Pipelines.

Potenziali casi d'uso

Usare Azure Pipelines per distribuire le applicazioni del servizio Azure Kubernetes.

Architettura

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

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. Una richiesta pull per Azure Repos Git attiva una pipeline di richiesta pull. Questa pipeline esegue controlli qualitativi rapidi, ad esempio linting, compilazione e unit test del codice. Se uno dei controlli ha esito negativo, la richiesta pull non viene unione. Il risultato di un'esecuzione corretta di questa pipeline è un'unione corretta della richiesta pull.
  2. Un'unione in Azure Repos Git attiva una pipeline CI. Questa pipeline esegue le stesse attività della pipeline di richiesta pull con alcune aggiunte importanti. La pipeline CI esegue test di integrazione. Questi test richiedono segreti, quindi questa pipeline ottiene tali segreti da Azure Key Vault.
  3. Il risultato di un'esecuzione corretta di questa pipeline è la creazione e la pubblicazione di un'immagine del contenitore in un Registro Azure Container non di produzione.
  4. Il completamento della pipeline ci attiva la pipeline cd.
  5. La pipeline cd distribuisce un modello YAML nell'ambiente del servizio Azure Kubernetes di staging. Il modello specifica l'immagine del contenitore dall'ambiente non di produzione. La pipeline esegue quindi test di accettazione sull'ambiente di gestione temporanea per convalidare la distribuzione. Un'attività di convalida manuale viene eseguita se i test hanno esito positivo, richiedendo a una persona di convalidare la distribuzione e riprendere la pipeline. Il passaggio di convalida manuale è facoltativo. Alcune organizzazioni verranno distribuite automaticamente.
  6. Se viene ripreso l'intervento manuale, la pipeline CD promuove l'immagine dal Registro Azure Container non di produzione al registro di produzione.
  7. La pipeline cd distribuisce un modello YAML nell'ambiente del servizio Azure Kubernetes di produzione. Il modello specifica l'immagine del contenitore dall'ambiente di produzione.
  8. Informazioni dettagliate sui contenitori inoltra periodicamente le metriche delle prestazioni, i dati di inventario e le informazioni sullo stato di integrità da host contenitori e contenitori a Monitoraggio di Azure.
  9. Monitoraggio di Azure raccoglie dati di osservabilità, ad esempio log e metriche, in modo che un operatore possa analizzare i dati di integrità, prestazioni e utilizzo. Application Insights raccoglie tutti i dati di monitoraggio specifici dell'applicazione, ad esempio le tracce. Azure Log Analytics viene usato per archiviare tutti i dati.

Componenti

  • Container Insights raccoglie log e metriche e log e li inoltra a Monitoraggio di Azure.
  • Registro Azure Container è un servizio di registro contenitori privato gestito in Azure. Usare Registro Contenitori per archiviare immagini di contenitori private.
  • servizio Azure Kubernetes è un servizio Kubernetes gestito in cui Azure gestisce le attività critiche, ad esempio il monitoraggio e la manutenzione dell'integrità.
  • Defender per DevOps esegue l'analisi statica e consente di ottenere visibilità delle posizioni di sicurezza tra più pipeline nello sviluppo e nella distribuzione del servizio Azure Kubernetes.

Passaggi successivi