Esercitazione: eseguire applicazioni nel servizio Azure KubernetesTutorial: Run applications in Azure Kubernetes Service (AKS)

Kubernetes fornisce una piattaforma distribuita per applicazioni in contenitori.Kubernetes provides a distributed platform for containerized applications. Si compilano e si distribuiscono le applicazioni e i servizi in un cluster Kubernetes e si consente al cluster di gestire la disponibilità e la connettività.You build and deploy your own applications and services into a Kubernetes cluster, and let the cluster manage the availability and connectivity. In questa esercitazione, parte quattro di sette, verrà distribuita un'applicazione di esempio in un cluster Kubernetes.In this tutorial, part four of seven, a sample application is deployed into a Kubernetes cluster. Si apprenderà come:You learn how to:

  • Aggiornare un file manifesto KubernetesUpdate a Kubernetes manifest file
  • Eseguire un'applicazione in KubernetesRun an application in Kubernetes
  • Test dell'applicazioneTest the application

Nelle altre esercitazioni questa applicazione è stata ridimensionata e aggiornata.In additional tutorials, this application is scaled out and updated.

Questa guida introduttiva presuppone una comprensione di base dei concetti relativi a Kubernetes.This quickstart assumes a basic understanding of Kubernetes concepts. Per altre informazioni, vedere Concetti di base relativi a Kubernetes per il servizio Azure Kubernetes.For more information, see Kubernetes core concepts for Azure Kubernetes Service (AKS).

Prima di iniziareBefore you begin

Nelle esercitazioni precedenti è stato creato un pacchetto di un'applicazione in un'immagine del contenitore, caricata poi in Registro Azure Container, ed è stato creato un cluster Kubernetes.In previous tutorials, an application was packaged into a container image, this image was uploaded to Azure Container Registry, and a Kubernetes cluster was created.

Per completare questa esercitazione, è necessario il file manifesto Kubernetes azure-vote-all-in-one-redis.yaml creato in precedenza.To complete this tutorial, you need the pre-created azure-vote-all-in-one-redis.yaml Kubernetes manifest file. Questo file è stato scaricato con il codice sorgente dell'applicazione in un'esercitazione precedente.This file was downloaded with the application source code in a previous tutorial. Verificare che il repository sia stato clonato e che le directory siano state impostate sul repository clonato.Verify that you've cloned the repo, and that you have changed directories into the cloned repo. Se questi passaggi non sono stati ancora eseguiti e si vuole procedere, iniziare con l'Esercitazione 1: Creare immagini del contenitore.If you haven't done these steps, and would like to follow along, start with Tutorial 1 – Create container images.

Per questa esercitazione è necessario eseguire l'interfaccia della riga di comando di Azure versione 2.0.53 o successiva.This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Eseguire az --version per trovare la versione.Run az --version to find the version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.If you need to install or upgrade, see Install Azure CLI.

Aggiornare il file manifestoUpdate the manifest file

In queste esercitazioni un'istanza di Registro Azure Container archivia l'immagine del contenitore per l'applicazione di esempio.In these tutorials, an Azure Container Registry (ACR) instance stores the container image for the sample application. Per distribuire l'applicazione, è necessario aggiornare il nome dell'immagine nel file manifesto di Kubernetes includendo il nome del server di accesso di Registro Azure Container.To deploy the application, you must update the image name in the Kubernetes manifest file to include the ACR login server name.

Ottenere il nome del server di accesso di Registro Azure Container usando il comando az acr list come di seguito:Get the ACR login server name using the az acr list command as follows:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Il file manifesto di esempio del repository Git clonato nella prima esercitazione usa il nome del server di accesso microsoft.The sample manifest file from the git repo cloned in the first tutorial uses the login server name of microsoft. Assicurarsi di essere nella directory clonata azure-voting-app-redis e quindi aprire il file manifesto in un editor di testo, ad esempio vi:Make sure that you're in the cloned azure-voting-app-redis directory, then open the manifest file with a text editor, such as vi:

vi azure-vote-all-in-one-redis.yaml

Sostituire microsoft con il nome del server di accesso di Registro Azure Container.Replace microsoft with your ACR login server name. Il nome dell'immagine è presente nella riga 51 del file manifesto.The image name is found on line 51 of the manifest file. L'esempio seguente mostra il nome dell'immagine predefinito:The following example shows the default image name:

containers:
- name: azure-vote-front
  image: mcr.microsoft.com/azuredocs/azure-vote-front:v1

Immettere il proprio nome del server di accesso di Registro Azure Container in modo che il file manifesto abbia un aspetto simile al seguente:Provide your own ACR login server name so that your manifest file looks like the following example:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

Salvare e chiudere il file.Save and close the file. In vi usare :wq.In vi, use :wq.

Distribuire l'applicazioneDeploy the application

Per distribuire l'applicazione, usare il comando kubectl apply.To deploy your application, use the kubectl apply command. Questo comando analizza il file manifesto e crea gli oggetti Kubernetes definiti.This command parses the manifest file and creates the defined Kubernetes objects. Specificare il file manifesto di esempio, come illustrato nell'esempio seguente:Specify the sample manifest file, as shown in the following example:

kubectl apply -f azure-vote-all-in-one-redis.yaml

L'output di esempio seguente mostra che le risorse sono state create correttamente nel cluster del servizio Azure Kubernetes:The following example output shows the resources successfully created in the AKS cluster:

$ 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'applicazioneTest the application

Durante l'esecuzione dell'applicazione, un servizio Kubernetes espone il front-end dell'applicazione a Internet.When the application runs, a Kubernetes service exposes the application front end to the internet. Il processo potrebbe richiedere alcuni minuti.This process can take a few minutes to complete.

Per monitorare lo stato, usare il comando kubectl get service con l'argomento --watch.To monitor progress, use the kubectl get service command with the --watch argument.

kubectl get service azure-vote-front --watch

EXTERNAL-IP per il servizio azure-vote-front viene inizialmente visualizzato come pending:Initially the EXTERNAL-IP for the azure-vote-front service is shown as pending:

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

Quando EXTERNAL-IP passa da pending a un effettivo indirizzo IP pubblico, usare CTRL-C per arrestare il processo di controllo kubectl.When the EXTERNAL-IP address changes from pending to an actual public IP address, use CTRL-C to stop the kubectl watch process. L'output di esempio seguente mostra un indirizzo IP pubblico valido assegnato al servizio:The following example output shows a valid public IP address assigned to the service:

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:To see the application in action, open a web browser to the external IP address of your service:

Immagine del cluster Kubernetes in Azure

Se l'applicazione non è stata caricata, potrebbe essersi verificato un problema di autorizzazione con il registro immagini.If the application didn't load, it might be due to an authorization problem with your image registry. Per visualizzare lo stato dei contenitori, usare il comandokubectl get pods.To view the status of your containers, use the kubectl get pods command. Se non è possibile eseguire il pull delle immagini del contenitore, vedere Eseguire l'autenticazione con Registro Azure Container dal servizio Azure Kubernetes.If the container images can't be pulled, see Authenticate with Azure Container Registry from Azure Kubernetes Service.

Passaggi successiviNext steps

In questa esercitazione l'applicazione di voto di Azure di esempio è stata distribuita in un cluster Kubernetes nel servizio Azure Kubernetes.In this tutorial, a sample Azure vote application was deployed to a Kubernetes cluster in AKS. Si è appreso come:You learned how to:

  • Aggiornare un file manifesto KubernetesUpdate a Kubernetes manifest files
  • Eseguire un'applicazione in KubernetesRun an application in Kubernetes
  • Test dell'applicazioneTest the application

Passare all'esercitazione successiva per informazioni su come ridimensionare un'applicazione Kubernetes e l'infrastruttura Kubernetes sottostante.Advance to the next tutorial to learn how to scale a Kubernetes application and the underlying Kubernetes infrastructure.