Esercitazione: Distribuire applicazioni nel servizio Azure Kubernetes abilitate da Azure Arc
Si applica a: Servizio Azure Kubernetes in Azure Stack HCI 22H2, servizio Azure Kubernetes in Windows Server
È possibile creare e distribuire app e servizi personalizzati in un cluster Kubernetes quando si usa servizio Azure Kubernetes abilitato da Azure Arc. Kubernetes offre una piattaforma distribuita per le app in contenitori. È possibile consentire al cluster di gestire la disponibilità e la connettività.
Questa esercitazione, parte quattro di sette, descrive come distribuire un'applicazione di esempio in un cluster Kubernetes nel servizio Azure Kubernetes. Si apprenderà come:
- Aggiornare un file manifesto Kubernetes
- Distribuire un'applicazione in Kubernetes
- Test dell'applicazione
Le esercitazioni successive descrivono come ridimensionare e aggiornare l'applicazione.
Questa esercitazione presuppone una conoscenza di base dei concetti di Kubernetes.
Prima di iniziare
Le esercitazioni precedenti descrivono come creare un pacchetto di un'applicazione in un'immagine del contenitore e quindi caricare l'immagine nel Registro Azure Container e creare un cluster Kubernetes.
Per completare questa esercitazione, è necessario il file manifesto azure-vote-all-in-one-redis.yaml Kubernetes. Questo file è stato scaricato con il codice sorgente dell'applicazione in un'esercitazione precedente. Verificare di clonare il repository e di aver modificato le directory nel repository clonato. Se non sono stati eseguiti questi passaggi, iniziare con Esercitazione 1 - Create immagini del contenitore.
Questa esercitazione richiede l'interfaccia della riga di comando di Azure versione 2.0.53 o successiva. Eseguire az --version
per trovare la versione. Se è necessario installare o aggiornare l'interfaccia della riga di comando di Azure, vedere Installare l'interfaccia della riga di comando di Azure.
Aggiornare il file manifesto
In queste esercitazioni un'istanza di Registro Azure Container archivia l'immagine del contenitore per l'applicazione di esempio. Per distribuire l'applicazione, è necessario aggiornare il nome dell'immagine nel file manifesto kubernetes per includere il nome del server di accesso del Registro contenitori.
Ottenere il nome del server di accesso Registro Azure Container usando il comando az acr list, come indicato di seguito:
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Il file manifesto di esempio del repository GitHub clonato nella prima esercitazione usa il nome del server di accesso di Microsoft. Assicurarsi di essere nella directory azure-voting-app-redis clonata, quindi aprire il file manifesto con un editor di testo, ad esempio Blocco note:
notepad azure-vote-all-in-one-redis.yaml
Sostituire Microsoft con il nome del server di accesso Registro Azure Container. Il nome dell'immagine viene trovato nella riga 60 del file manifesto. L'esempio seguente mostra il nome dell'immagine predefinito:
containers:
- name: azure-vote-front
image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
Specificare il proprio nome del server di accesso Registro Azure Container in modo che il file manifesto sia simile all'esempio seguente:
containers:
- name: azure-vote-front
image: <acrName>.azurecr.io/azure-vote-front:v1
Salvare e chiudere il file.
Distribuire l'applicazione
Per distribuire l'applicazione, usare il comando kubectl apply. Questo comando analizza il file manifesto e crea gli oggetti Kubernetes definiti. Specificare il file manifesto di esempio, come illustrato nell'esempio seguente:
kubectl apply -f azure-vote-all-in-one-redis.yaml
L'output di esempio seguente mostra le risorse create correttamente nel cluster Kubernetes:
$ kubectl apply -f azure-vote-all-in-one-redis.yaml
deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created
Test dell'applicazione
Quando l'applicazione viene eseguita, il servizio Kubernetes espone il front-end dell'applicazione a Internet. Il processo potrebbe richiedere alcuni minuti.
Per monitorare lo stato di avanzamento, usare il comando kubectl get service con l'argomento --watch
:
kubectl get service azure-vote-front --watch
Inizialmente l'indirizzo EXTERNAL-IP per il servizio azure-vote-front viene visualizzato come in sospeso:
azure-vote-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
Quando l'indirizzo EXTERNAL-IP cambia da in sospeso a un indirizzo IP pubblico effettivo, usare CTRL-C per arrestare il kubectl
processo di watch. L'output di esempio seguente mostra un indirizzo IP pubblico valido assegnato al servizio:
azure-vote-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
Per vedere l'applicazione in azione, aprire un Web browser all'indirizzo IP esterno del servizio:
Se l'applicazione non è stata caricata, potrebbe essersi verificato un problema di autorizzazione con il registro immagini. Per visualizzare lo stato dei contenitori, usare il comandokubectl get pods
. Se non è possibile eseguire il pull delle immagini del contenitore, vedere Eseguire l'autenticazione con Registro Azure Container dal servizio Azure Kubernetes.
Passaggi successivi
In questa esercitazione è stata distribuita un'applicazione di voto di Azure di esempio in un cluster Kubernetes abilitato da Arc. Si è appreso come:
- Aggiornare un file manifesto Kubernetes
- Eseguire un'applicazione in Kubernetes
- Test dell'applicazione
Passare all'esercitazione successiva per informazioni su come ridimensionare un'applicazione Kubernetes e l'infrastruttura Kubernetes sottostante.