Esercitazione: Distribuire un cluster del servizio Azure Kubernetes

Kubernetes fornisce una piattaforma distribuita per applicazioni in contenitori. Il servizio Azure Kubernetes consente di creare rapidamente un cluster Kubernetes per la produzione. In questa esercitazione, la terza di sette parti, viene distribuito un cluster Kubernetes in servizio Azure Kubernetes. Si apprenderà come:

  • Distribuire un cluster del servizio Azure Kubernetes in grado di eseguire l'autenticazione in un'istanza di Registro Azure Container
  • Installare l'interfaccia della riga di comando di Kubernetes (kubectl)
  • Configurare kubectl per connettersi al cluster servizio Azure Kubernetes

Nelle esercitazioni successive l'applicazione Azure Vote viene distribuita nel cluster, ridimensionato e aggiornato.

Prima di iniziare

Nelle esercitazioni precedenti, un'immagine del contenitore è stata creata e caricata in un'istanza di Registro Azure Container. Se questi passaggi non sono stati ancora eseguiti e si vuole procedere, iniziare dall'Esercitazione 1: Creare immagini del contenitore.

Per questa esercitazione è necessario eseguire l'interfaccia della riga di comando di Azure versione 2.0.53 o successiva. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Creare un cluster Kubernetes

I cluster del servizio Azure Kubernetes possono usare il controllo degli accessi in base al ruolo di Kubernetes. Questi controlli consentono di definire l'accesso alle risorse in base ai ruoli assegnati agli utenti. È possibile combinare le autorizzazioni, se a un utente sono assegnati più ruoli, e definire l'ambito delle autorizzazioni in un unico spazio dei nomi o nell'intero cluster. Per impostazione predefinita, l'interfaccia della riga di comando di Azure abilita automaticamente il controllo degli accessi in base al ruolo di Kubernetes quando si crea un cluster del servizio Azure Kubernetes.

Creare un cluster servizio Azure Kubernetes usando az servizio Azure Kubernetes create. L'esempio seguente crea un cluster denominato myAKSCluster nel gruppo di risorse denominato myResourceGroup. Questo gruppo di risorse è stato creato nell'area eastus durante l'esercitazione precedente. Nell'esempio seguente non viene specificata alcuna area, di conseguenza anche il cluster del servizio Azure Kubernetes viene creato nell'area eastus. Per altre informazioni, vedere Quote, restrizioni relative alle dimensioni delle macchine virtuali e disponibilità dell'area in servizio Azure Kubernetes (servizio Azure Kubernetes) per altre informazioni sui limiti delle risorse e sulla disponibilità dell'area per il servizio Azure Kubernetes.

Per consentire a un cluster del servizio Azure Kubernetes di interagire con altre risorse di Azure, viene creata automaticamente un'identità del cluster, perché non ne è stata specificata una. In questo caso, a questa identità del cluster viene concesso il diritto di eseguire il pull delle immagini dall'istanza di Registro Azure Container creata nell'esercitazione precedente. Per eseguire correttamente il comando, è necessario avere un ruolo di amministratore dell'account proprietario o di Azure nella sottoscrizione di Azure.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 2 \
    --generate-ssh-keys \
    --attach-acr <acrName>

Per evitare la necessità di un ruolo di amministratore dell'account proprietario o dell'account di Azure , è anche possibile configurare manualmente un'entità servizio per eseguire il pull delle immagini dal Registro Azure Container. Per altre informazioni, vedere Autenticazione al Registro Azure Container con entità servizio o Eseguire l'autenticazione da Kubernetes con un segreto per il pull. In alternativa, è possibile usare un'identità gestita anziché un'entità servizio per semplificare la gestione.

Dopo alcuni minuti, la distribuzione viene completata e restituisce le informazioni in formato JSON sulla distribuzione del servizio Azure Kubernetes.

Nota

Per garantire il funzionamento affidabile del cluster, è consigliabile eseguire almeno 2 (due) nodi.

Installare l'interfaccia della riga di comando di Kubernetes

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

Se si usa Azure Cloud Shell, kubectl è già installato. È anche possibile installarlo in locale usando il comando az servizio Azure Kubernetes install-cli:

az aks install-cli

Connettersi al cluster usando kubectl

Per configurare kubectl per la connessione al cluster Kubernetes, usare il comando az servizio Azure Kubernetes get-credentials. L'esempio seguente ottiene le credenziali per il cluster AKS denominato myAKSCluster in myResourceGroup:

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Per verificare la connessione al cluster, usare il comando kubectl get nodes per restituire un elenco di nodi del cluster:

kubectl get nodes

L'output di esempio seguente mostra l'elenco dei nodi del cluster.

$ kubectl get nodes

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-37463671-vmss000000   Ready    agent   2m37s   v1.18.10
aks-nodepool1-37463671-vmss000001   Ready    agent   2m28s   v1.18.10

Passaggi successivi

In questa esercitazione è stato distribuito un cluster Kubernetes in servizio Azure Kubernetes ed è stato configurato kubectl per la connessione. Si è appreso come:

  • Distribuire un cluster del servizio Azure Kubernetes in grado di eseguire l'autenticazione in un'istanza di Registro Azure Container
  • Installare l'interfaccia della riga di comando di Kubernetes (kubectl)
  • Configurare kubectl per connettersi al cluster servizio Azure Kubernetes

Passare all'esercitazione successiva per informazioni su come distribuire un'applicazione nel cluster.