Distribuire un cluster Kubernetes nel servizio contenitore di Azure

Kubernetes fornisce una piattaforma distribuita per applicazioni in contenitori. Con il servizio contenitore di Azure, il provisioning di un cluster Kubernetes pronto per la produzione è semplice e rapido. In questa esercitazione, parte 3 di 7, viene distribuito un cluster Kubernetes del servizio contenitore di Azure. I passaggi completati comprendono:

  • Distribuzione di un cluster del servizio contenitore di Azure Kubernetes
  • Installazione dell'interfaccia della riga di comando Kubernetes (kubectl)
  • Configurazione di kubectl

Nelle esercitazioni successive, l'applicazione Azure Vote viene distribuita nel cluster, ridimensionata, aggiornata e Operations Management Suite viene configurato per monitorare il cluster Kubernetes.

Prima di iniziare

Nelle esercitazioni precedenti, un'immagine del contenitore è stata creata e caricata in un'istanza di Registro contenitori di Azure. Se questi passaggi non sono stati ancora eseguiti e si vuole procedere, tornare a Tutorial 1 – Create container images (Esercitazione 1: Creare immagini del contenitore).

Creare un cluster Kubernetes

Nell'esercitazione precedente è stato creato un gruppo di risorse denominato myResourceGroup. Se questa operazione non è stata ancora eseguita, creare ora il gruppo di risorse.

az group create --name myResourceGroup --location eastus

Creare un cluster Kubernetes nel servizio contenitore di Azure con il comando az acs create.

L'esempio seguente crea un cluster denominato myK8sCluster con un nodo master Linux e tre nodi agente Linux.

az acs create --orchestrator-type=kubernetes --resource-group myResourceGroup --name=myK8SCluster --generate-ssh-keys 

Dopo alcuni minuti, il comando viene completato e restituisce le informazioni in formato JSON sulla distribuzione del servizio contenitore di Azure.

Installare l'interfaccia della riga di comando di kubectl

Per connettersi al cluster Kubernetes dal computer client, usare kubectl, il client da riga di comando di Kubernetes.

Se si usa Azure CloudShell, kubectl è già installato. Se lo si vuole installare in locale, usare il comando az acs kubernetes install-cli.

Se è in esecuzione in Linux o MacOS, potrebbe essere necessario procedere all'esecuzione con sudo. In Windows accertarsi che la shell sia stata eseguita come amministratore.

az acs kubernetes install-cli 

In Windows l'installazione predefinita è c:\program files (x86)\kubectl.exe. Potrebbe essere necessario aggiungere questo file al percorso di Windows.

Connettersi con kubectl

Per configurare kubectl per connettersi al cluster Kubernetes, eseguire il comando az acs kubernetes get-credentials.

az acs kubernetes get-credentials --resource-group=myResourceGroup --name=myK8SCluster

Per verificare la connessione al cluster, eseguire il comando kubectl get nodes.

kubectl get nodes

Output:

NAME                    STATUS                     AGE       VERSION
k8s-agent-98dc3136-0    Ready                      5m        v1.6.2
k8s-agent-98dc3136-1    Ready                      5m        v1.6.2
k8s-agent-98dc3136-2    Ready                      5m        v1.6.2
k8s-master-98dc3136-0   Ready,SchedulingDisabled   5m        v1.6.2

Al termine dell'esercitazione, sarà disponibile un cluster Kubernetes del servizio contenitore di Azure pronto per i carichi di lavoro. Nelle esercitazioni successive, in questo cluster viene distribuita un'applicazione multi-contenitore, quindi viene scalata orizzontalmente, aggiornata e monitorata.

Passaggi successivi

In questa esercitazione è stato distribuito un cluster Kubernetes del servizio contenitore di Azure. Sono stati completati i passaggi seguenti:

  • Distribuzione di un cluster Kubernets del servizio contenitore di Azure
  • Installazione dell'interfaccia della riga di comando di Kubernetes (kubectl)
  • Configurazione di kubectl

Passare all'esercitazione successiva per apprendere come eseguire l'applicazione nel cluster.