Condividi tramite


Distribuzioni automatizzate per Servizio Azure Kubernetes (AKS)

Le distribuzioni automatizzate semplificano il processo di configurazione di un'azione GitHub o di una pipeline di Azure DevOps, semplificando la creazione di una pipeline di distribuzione continua per l'applicazione Servizio Azure Kubernetes (AKS). Dopo la connessione, ogni nuovo commit attiva automaticamente la pipeline, recapitando facilmente gli aggiornamenti all'applicazione. È possibile portare i propri file di distribuzione per una rapida creazione della pipeline o generare Dockerfile e manifesti Kubernetes per containerizzare e distribuire applicazioni non in contenitori con un impegno minimo.

Prerequisiti

Connettersi al repository del codice sorgente

Creare un flusso di lavoro di distribuzione automatizzato e autorizzarlo a connettersi al repository del codice sorgente desiderato.

  1. Nel portale di Azure, passare alla risorsa del cluster AKS.
  2. Nel menu del servizio, in Impostazioni, selezionare Distribuzioni automatiche>Crea.
  3. In Repository details immettere un nome per il flusso di lavoro, quindi selezionare GitHub o ADO per il percorso del repository.
  4. Selezionare Autorizza l'accesso per connettersi al repository desiderato.
  5. Scegliere repository e ramo e quindi selezionare Avanti.

Scegliere la configurazione dell'immagine del contenitore

Per preparare un'applicazione per Kubernetes, è necessario compilarla in un'immagine del contenitore e archiviarla in un registro contenitori. Si usa un Dockerfile per fornire istruzioni su come compilare l'immagine del contenitore. Se il repository del codice sorgente non ha già un Dockerfile, le distribuzioni automatizzate possono generarne una automaticamente. In caso contrario, è possibile usare un Dockerfile esistente.

Usare le distribuzioni automatiche per generare un Dockerfile per molti linguaggi e framework, ad esempio Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift e Rust. Il supporto linguistico è basato su ciò che è disponibile in draft.sh.

  1. Selezionare Auto-containerize (generate Dockerfile) per la configurazione del contenitore.
  2. Selezionare il percorso in cui salvare il Dockerfile generato nel repository.
  3. Selezionare l'ambiente dell'applicazione dall'elenco di linguaggi e framework supportati.
  4. Immettere la porta dell'applicazione.
  5. Specificare il percorso del contesto di compilazione Dockerfile .
  6. Selezionare un Registro Azure Container o crearne uno nuovo. Questo registro viene usato per archiviare l'immagine dell'applicazione compilata.

Scegliere la configurazione del manifesto Kubernetes

Annotazioni

L'opzione Genera manifesti supporta anche funzionalità avanzate come l'integrazione di Service Connector, le risorse di ingresso generate automaticamente e i file manifesto Kubernetes più dettagliati e personalizzabili.

Un'applicazione in esecuzione in Kubernetes è costituita da molti componenti primitivi kubernetes. Questi componenti descrivono l'immagine del contenitore da usare, il numero di repliche da eseguire, se è necessario un indirizzo IP pubblico per esporre l'applicazione e così via. Per altre informazioni, vedere la documentazione ufficiale di Kubernetes. Se il repository del codice sorgente non dispone già dei manifesti Kubernetes di base da distribuire, le distribuzioni automatizzate possono generarle automaticamente. In caso contrario, è possibile usare un set di manifesti esistenti. È anche possibile scegliere un grafico Helm esistente.

Se il repository di codice ha già un Dockerfile, è possibile selezionarlo da usare per compilare l'immagine dell'applicazione.

  1. Selezionare l'opzione Usa file esistenti di manifesto Kubernetes per la distribuzione per le opzioni di distribuzione.
  2. Selezionare il file o la cartella manifest di Kubernetes dal repository.
  3. Seleziona Avanti.

(Facoltativo) Usare un ingresso gestito e/o Un connettore di servizi

Quando si generano manifesti Kubernetes con distribuzioni automatizzate, è possibile abilitare il routing delle app per configurare un controller di ingresso per l'applicazione. È anche possibile usare Service Connector per creare una nuova connessione o integrare facilmente l'app con un back-end del servizio Azure esistente.

Il routing delle app fornisce un controller di ingresso basato su NGINX completamente gestito e pronto all'uso, dotato di crittografia SSL/TLS integrata utilizzando certificati memorizzati in Azure Key Vault e gestione delle zone DNS tramite DNS di Azure. Quando si usano distribuzioni automatizzate, il comando esponi ingresso si integra perfettamente con il routing delle app, rendendo più semplice esporre l'applicazione al traffico esterno con un nome DNS sicuro e personalizzato, con una configurazione minima.

  1. Selezionare la casella Esponi ingresso .
  2. Scegliere tra un controller di ingresso esistente o un nuovo controller di ingresso.
  3. Scegliere tra l'uso di un controller di ingress SSL/TLS abilitato o non sicuro.
  4. (Facoltativo) Immettere i dettagli del certificato se si sceglie un controller di ingresso abilitato per SSL/TLS .
  5. Scegliere tra l'uso di DNS di Azure o un provider di terze parti terzo.
  6. Immettere DNS di Azure Zone e Nome di sottodominio.

(Facoltativo) Aggiungere variabili di ambiente

Definire le variabili di ambiente per un contenitore in Kubernetes specificando coppie nome-valore. Le variabili di ambiente sono importanti perché consentono di semplificare la gestione delle impostazioni, la gestione sicura delle informazioni riservate e la flessibilità in tutti gli ambienti.

Esaminare la configurazione e la distribuzione

Esaminare la configurazione per l'applicazione e i manifesti kubernetes, quindi selezionare Distribuisci. Verrà generata una richiesta pull (PR) sul repository selezionato, pertanto non uscire dalla pagina di distribuzione.

Esaminare e unire una richiesta pull

Al termine della distribuzione, selezionare Visualizza richiesta pull per visualizzare i dettagli della richiesta pull generata nel repository di codice.

Screenshot del pull request su GitHub.

  1. Esaminare le modifiche in File modificate e apportare le modifiche desiderate.
  2. Selezionare Merge pull request per unire le modifiche nel repository di codice.

La fusione della modifica esegue il flusso di lavoro di GitHub Actions, che costruisce la tua applicazione in un'immagine del container, la archivia in Registro Azure Container e la distribuisce nel cluster.

Screenshot che mostra il flusso di lavoro di GitHub Actions in corso.

Controllare le risorse distribuite

Al termine della pipeline, è possibile esaminare il Service di Kubernetes creato nel portale di Azure selezionando Services and ingresses sotto la sezione Risorse Kubernetes del menu del servizio.

Screenshot del riquadro Servizi e ingressi.

Se si seleziona l'indirizzo IP esterno , verrà aperta una nuova pagina del browser con l'applicazione in esecuzione.

Screenshot che mostra l'applicazione Contoso Air in esecuzione.

Eliminare risorse

Al termine dell'operazione con il cluster, seguire questa procedura per eliminarlo per evitare di incorrere in costi Azure:

  1. Nel portale di Azure passare a Distribuzioni automatiche
  2. Selezionare ... nella pipeline di propria scelta.
  3. Selezionare Elimina.