Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Suggerimento
Per la versione aggiornata di questa esercitazione che usa il servizio Azure Kubernetes, vedere Esercitazione: Aggiornare un'applicazione nel servizio Azure Kubernetes.
Avvertimento
Il servizio Azure Container (ACS) è deprecato. Non verranno aggiunte nuove funzionalità o caratteristiche al servizio ACS. Tutte le API, l'esperienza del portale, i comandi dell'interfaccia della riga di comando e la documentazione sono contrassegnate come deprecate.
Nel 2017 è stato introdotto il servizio Azure Kubernetes per semplificare la gestione, la distribuzione e le operazioni di Kubernetes. Se si usa l'orchestratore Kubernetes, eseguire la migrazione ad AKS entro il 31 gennaio 2020. Per iniziare, vedere eseguire la migrazione al servizio Azure Kubernetes.
Per altre informazioni, vedere l'annuncio di deprecazione del servizio Azure Container su Azure.com.
Dopo che un'applicazione è stata distribuita in Kubernetes, può essere aggiornata specificando una nuova versione dell'immagine o dell'immagine del contenitore. In questo caso, l'aggiornamento viene effettuato a tappe, in modo che solo una parte della distribuzione venga aggiornata contemporaneamente. Questo aggiornamento a fasi consente all'applicazione di rimanere in esecuzione durante l'aggiornamento. Fornisce inoltre un meccanismo di ripristino dello stato precedente se si verifica un errore di distribuzione.
In questa esercitazione, parte sei di sette, viene aggiornata l'app Azure Vote di esempio. Le attività completate includono:
- Aggiornamento del codice dell'applicazione front-end
- Creazione di un'immagine del contenitore aggiornata
- Spingere l'immagine del contenitore nel Registro dei Container di Azure
- Distribuzione dell'immagine del contenitore aggiornata
Nelle esercitazioni successive, Log Analytics è configurato per monitorare il cluster Kubernetes.
Prima di iniziare
Nelle esercitazioni precedenti un'applicazione è stata inserita in un'immagine del contenitore, l'immagine caricata in Registro Azure Container e un cluster Kubernetes creato. L'applicazione è stata quindi eseguita nel cluster Kubernetes.
È stato clonato anche un repository di applicazioni che include il codice sorgente dell'applicazione e un file Docker Compose creato in modo preliminare usato in questa esercitazione. Verificare di aver creato un clone del repository e di aver modificato le directory nella directory clonata. All'interno è una directory denominata azure-vote e un file denominato docker-compose.yml.
Se questi passaggi non sono stati completati e si vuole seguire questa procedura, tornare all'Esercitazione 1 : Creare immagini del contenitore.
Aggiorna applicazione
Per questa esercitazione viene apportata una modifica all'applicazione e l'applicazione aggiornata distribuita nel cluster Kubernetes.
Il codice sorgente dell'applicazione è disponibile all'interno della azure-vote directory. Aprire il config_file.cfg file con qualsiasi codice o editor di testo. In questo esempio vi viene usato .
vi azure-vote/azure-vote/config_file.cfg
Modificare i valori per VOTE1VALUE e VOTE2VALUEe quindi salvare il file.
# UI Configurations
TITLE = 'Azure Voting App'
VOTE1VALUE = 'Blue'
VOTE2VALUE = 'Purple'
SHOWHOST = 'false'
Salva e chiudi il file.
Aggiornare l'immagine del contenitore
Usare docker-compose per ricreare l'immagine front-end ed eseguire l'applicazione aggiornata. L'argomento --build viene usato per indicare a Docker Compose di ricreare l'immagine dell'applicazione.
docker-compose up --build -d
Testare l'applicazione in locale
Passare a https://localhost:8080 per visualizzare l'applicazione aggiornata.
Tagga e spingi le immagini
Contrassegna l'immagine azure-vote-front con il loginServer del registro dei contenitori.
Ottenere il nome del server di accesso con il comando az acr list .
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Usare docker tag per assegnare il tag all'immagine. Sostituire <acrLoginServer> con il nome del server di accesso di Registro Azure Container o il nome host del Registro di sistema pubblico. Si noti anche che la versione dell'immagine viene aggiornata a redis-v2.
docker tag azure-vote-front <acrLoginServer>/azure-vote-front:redis-v2
Usare docker push per caricare l'immagine nel registro. Sostituire <acrLoginServer> con il nome del server di accesso di Registro Azure Container.
docker push <acrLoginServer>/azure-vote-front:redis-v2
Distribuire l'applicazione di aggiornamento
Per garantire il tempo di attività massimo, è necessario eseguire più istanze del pod dell'applicazione. Verificare questa configurazione con il comando kubectl get pod .
kubectl get pod
Risultato:
NAME READY STATUS RESTARTS AGE
azure-vote-back-217588096-5w632 1/1 Running 0 10m
azure-vote-front-233282510-b5pkz 1/1 Running 0 10m
azure-vote-front-233282510-dhrtr 1/1 Running 0 10m
azure-vote-front-233282510-pqbfk 1/1 Running 0 10m
Se non si dispone di un numero sufficiente di pod che eseguono l'immagine azure-vote-front, è necessario ridimensionare la azure-vote-front distribuzione.
kubectl scale --replicas=3 deployment/azure-vote-front
Per aggiornare l'applicazione, usare il comando kubectl set. Aggiorna <acrLoginServer> con il server di accesso o il nome host del registro contenitori.
kubectl set image deployment azure-vote-front azure-vote-front=<acrLoginServer>/azure-vote-front:redis-v2
Per monitorare la distribuzione, usare il comando kubectl get pod. Quando l'applicazione aggiornata viene implementata, i pod vengono terminati e ricreati con la nuova immagine del contenitore.
kubectl get pod
Risultato:
NAME READY STATUS RESTARTS AGE
azure-vote-back-2978095810-gq9g0 1/1 Running 0 5m
azure-vote-front-1297194256-tpjlg 1/1 Running 0 1m
azure-vote-front-1297194256-tptnx 1/1 Running 0 5m
azure-vote-front-1297194256-zktw9 1/1 Terminating 0 1m
Testare l'applicazione aggiornata
Ottenere l'indirizzo IP esterno del azure-vote-front servizio.
kubectl get service azure-vote-front
Accedere all'indirizzo IP per visualizzare l'applicazione aggiornata.
Passaggi successivi
In questa esercitazione è stata aggiornata un'applicazione ed è stato implementato questo aggiornamento in un cluster Kubernetes. Sono state completate le attività seguenti:
- Aggiornamento del codice dell'applicazione front-end
- Creazione di un'immagine del contenitore aggiornata
- È stata caricata l'immagine del container nel registro Azure Container
- Distribuzione dell'applicazione aggiornata
Passare all'esercitazione successiva per informazioni su come monitorare Kubernetes con Log Analytics.