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: Ridimensionare le applicazioni 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.
Se sono state seguendo le esercitazioni, si dispone di un cluster Kubernetes funzionante nel servizio Azure Container e si è distribuita l'app Azure Voting.
In questa esercitazione, la quinta di sette, si scalano i pod nell'app e si prova l'autoscalabilità dei pod. Si apprenderà anche come ridimensionare il numero di nodi dell'agente di macchine virtuali di Azure per modificare la capacità del cluster per l'hosting dei carichi di lavoro. Le attività completate includono:
- Ridimensionamento manuale dei pod Kubernetes
- Configurazione dei pod di Autoscaling per eseguire il front-end dell'app
- Ridimensionare i nodi dell'agente di Azure Kubernetes
Nelle esercitazioni successive l'applicazione Azure Vote viene aggiornata e Log Analytics è configurato per monitorare il cluster Kubernetes.
Prima di iniziare
Nelle esercitazioni precedenti un'applicazione è stata inserita in un'immagine del contenitore, questa immagine è stata caricata in Registro Azure Container e un cluster Kubernetes creato. L'applicazione è stata quindi eseguita nel cluster Kubernetes.
Se questi passaggi non sono stati eseguiti e si vuole procedere, tornare all'esercitazione 1 - Creare immagini del contenitore.
Ridimensionare manualmente i pod
Finora, il front-end di Azure Vote e l'istanza di Redis sono stati distribuiti, ciascuno con una singola replica. Per verificare, eseguire il comando kubectl get .
Passare a https://shell.azure.com per aprire Cloud Shell nel browser.
kubectl get pods
Risultato:
NAME READY STATUS RESTARTS AGE
azure-vote-back-2549686872-4d2r5 1/1 Running 0 31m
azure-vote-front-848767080-tf34m 1/1 Running 0 31m
Modificare manualmente il numero di pod nel azure-vote-front deployment usando il comando kubectl scale. Questo esempio aumenta il numero a 5.
kubectl scale --replicas=5 deployment/azure-vote-front
Eseguire kubectl get pod per verificare che Kubernetes stia creando i pod. Dopo circa un minuto, i pod aggiuntivi sono in esecuzione.
kubectl get pods
Risultato:
NAME READY STATUS RESTARTS AGE
azure-vote-back-2606967446-nmpcf 1/1 Running 0 15m
azure-vote-front-3309479140-2hfh0 1/1 Running 0 3m
azure-vote-front-3309479140-bzt05 1/1 Running 0 3m
azure-vote-front-3309479140-fvcvm 1/1 Running 0 3m
azure-vote-front-3309479140-hrbf2 1/1 Running 0 15m
azure-vote-front-3309479140-qphz8 1/1 Running 0 3m
Ridimensionamento automatico dei pod
Kubernetes supporta la scalabilità automatica orizzontale dei pod per regolare il numero di pod in una distribuzione a seconda dell'utilizzo della CPU o di altre metriche selezionate.
Per usare il ridimensionamento automatico, i pod devono avere richieste di CPU e limiti definiti.
azure-vote-front Nella distribuzione il contenitore front-end richiede 0,25 CPU, con un limite di 0,5 CPU. Le impostazioni sono simili alle seguenti:
resources:
requests:
cpu: 250m
limits:
cpu: 500m
L'esempio seguente usa il comando kubectl autoscale per ridimensionare automaticamente il numero di pod nella azure-vote-front distribuzione. In questo caso, se l'utilizzo della CPU supera 50%, il ridimensionamento automatico aumenta i pod fino a un massimo di 10.
kubectl autoscale deployment azure-vote-front --cpu-percent=50 --min=3 --max=10
Per visualizzare lo stato del ridimensionamento automatico, eseguire il comando seguente:
kubectl get hpa
Risultato:
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
azure-vote-front Deployment/azure-vote-front 0% / 50% 3 10 3 2m
Dopo alcuni minuti, con un carico minimo nell'app Azure Vote, il numero di repliche dei pod diminuisce automaticamente a 3.
Ridimensionare gli agenti
Se il cluster Kubernetes è stato creato usando i comandi predefiniti nell'esercitazione precedente, include tre nodi agente. È possibile modificare manualmente il numero di agenti se si pianifica un maggiore o minore numero di carichi di lavoro dei container nel cluster. Usare il comando az acs scale e specificare il numero di agenti con il --new-agent-count parametro .
L'esempio seguente aumenta il numero di nodi agente a 4 nel cluster Kubernetes denominato myK8sCluster. Il completamento del comando richiede alcuni minuti.
az acs scale --resource-group=myResourceGroup --name=myK8SCluster --new-agent-count 4
L'output del comando mostra il numero di nodi agente nel valore di agentPoolProfiles:count:
{
"agentPoolProfiles": [
{
"count": 4,
"dnsPrefix": "myK8SCluster-myK8SCluster-e44f25-k8s-agents",
"fqdn": "",
"name": "agentpools",
"vmSize": "Standard_D2_v2"
}
],
...
Passaggi successivi
In questa esercitazione sono state usate diverse funzionalità di ridimensionamento nel cluster Kubernetes. Le attività descritte includono:
- Ridimensionare manualmente i pod di Kubernetes
- Configurazione dei pod di Autoscaling per eseguire il front-end dell'app
- Ridimensionare i nodi dell'agente di Azure Kubernetes
Passare all'esercitazione successiva per imparare ad aggiornare l'applicazione in Kubernetes.