Microservizi con il servizio Azure Kubernetes

Registro contenitori
Azure DevOps
Servizio Kubernetes
GitHub

Idea della soluzione

Se si desidera vedere questo articolo con altre informazioni, ad esempio potenziali casi d'uso, servizi alternativi, considerazioni sull'implementazione o linee guida sui prezzi, è possibile inviare commenti e suggerimenti GitHub!

Usare il servizio DinK per semplificare la distribuzione e la gestione dell'architettura basata su microservizi. Il servizio AKS semplifica la scalabilità orizzontale, la riparazione automatica, il bilanciamento del carico e la gestione dei segreti.

Architettura

Diagramma dell'architettura Scaricare una versione SVG di questa architettura.

Flusso di dati

  1. Lo sviluppatore usa un IDE, ad esempio Visual Studio, per eseguire il commit delle modifiche GitHub.
  2. GitHub attiva una nuova compilazione in Azure DevOps.
  3. Azure DevOps i microservizi come contenitori e li inserisce nel Registro Azure Container.
  4. I contenitori vengono distribuiti nel cluster del servizio Container.
  5. Gli utenti accedono ai servizi tramite app e un sito Web.
  6. Azure Active Directory viene usato per proteggere l'accesso alle risorse.
  7. I microservizi usano i database per archiviare e recuperare informazioni.
  8. L'amministratore accede tramite un portale di amministrazione separato.

Componenti

  • Azure DevOps i microservizi come contenitori.
  • servizio Azure Kubernetes offre cluster Kubernetes completamente gestiti per la distribuzione, il ridimensionamento e la gestione delle applicazioni in contenitori.
  • Registro Azure Container è un servizio di registro Docker gestito e privato in Azure. Usare Registro Azure Container per archiviare le immagini Docker private, che vengono distribuite nel cluster.
  • GitHub Enterprise offre una piattaforma di hosting del codice che gli sviluppatori possono usare per collaborare a progetti open source e interni.
  • Azure Pipelines Pipelines fa parte Azure DevOps Services usato per eseguire compilazioni, test e distribuzioni automatizzate. Ogni time code viene modificato nel repository di codice, la pipeline Azure DevOps compila continuamente le immagini del contenitore, ne viene eseguito il push nel Registro Azure Container e i manifesti vengono quindi distribuiti nel cluster servizio Azure Kubernetes.
  • Azure Active Directory. Quando il servizio Kubernetes è integrato con Azure Active Directory, consente di usare utenti, gruppi o entità servizio di Azure AD come soggetti nel controllo degli accessi in base al ruolo di Kubernetes per gestire le risorse del servizio Kubernetes in modo sicuro.
  • Database di Azure per MySQL è un servizio di database MySQL completamente gestito in Azure per archiviare i dati con stato.
  • database SQL di Azure è un servizio di database relazionale completamente gestito e intelligente creato per il cloud. Con database SQL, è possibile creare un livello di archiviazione dei dati a disponibilità elevata e prestazioni elevate per le applicazioni cloud moderne.
  • Azure Cosmos DB è un servizio di database NoSQL completamente gestito per la creazione e la modernizzazione di applicazioni scalabili e ad alte prestazioni.

Passaggi successivi

Se è necessario un aggiornamento in Kubernetes, completare il workshop di servizio Azure Kubernetesper distribuire un'applicazione multi-contenitore in Kubernetes in servizio Azure Kubernetes (AKS).