Esercitazione - Creare un cluster del servizio Azure Kubernetes

Kubernetes fornisce una piattaforma distribuita per applicazioni in contenitori. Con il servizio Azure Kubernetes (AKS) è possibile creare rapidamente un cluster Kubernetes pronto per la produzione.

In questa esercitazione, la terza di sette parti, sarà possibile implementare un cluster Kubernetes nel servizio Azure Kubernetes. Scopri come:

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

Operazioni preliminari

Nelle esercitazioni precedenti, è stata creata un'immagine del contenitore e caricata in un'istanza di Registro Azure Container. Iniziare con Esercitazione 1 - Preparare l'applicazione per il servizio Azure Kubernetes per proseguire.

  • Se si usa l'interfaccia della riga di comando di Azure, questa esercitazione richiede l'esecuzione dell'interfaccia della riga di comando di Azure versione 2.0.53 o successiva. Controllare la versione con az --version. Per installare o eseguire l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
  • Se si usa Azure PowerShell, questa esercitazione richiede l'esecuzione di Azure PowerShell versione 5.9.0 o successiva. Controllare la versione con Get-InstalledModule -Name Az. Per eseguire l'installazione o l'aggiornamento, vedere Installare Azure PowerShell.
  • Se si usa l'interfaccia della riga di comando di Azure, questa esercitazione richiede l'esecuzione di Azure Developer CLI 1.5.1 o versione successiva. Controllare la versione con azd version. Per eseguire l'installazione o l'aggiornamento, vedere Installare Azure Developer CLI.

Creare un cluster Kubernetes

I cluster del servizio Azure Kubernetes possono usare il controllo degli accessi in base al ruolo di Kubernetes, che consente di definire l'accesso alle risorse in base ai ruoli assegnati agli utenti. Se a un utente vengono assegnati più ruoli, le autorizzazioni vengono combinate. È possibile definire l'ambito delle autorizzazioni in un singolo spazio dei nomi o nell'intero cluster.

Per altre informazioni sul controllo degli accessi in base al ruolo del servizio Azure Kubernetes e Kubernetes, vedere Controllare l'accesso alle risorse del cluster usando il controllo degli accessi in base al ruolo di Kubernetes e le identità di Microsoft Entra nel servizio Azure Kubernetes.

Questa esercitazione richiede l'interfaccia della riga di comando di Azure 2.0.53 o versioni successive. Controllare la versione con az --version. Per installare o eseguire l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Installare l'interfaccia della riga di comando di Kubernetes

Usare l'interfaccia della riga di comando di Kubernetes, kubectl, per connettersi al cluster Kubernetes. Se si usa Azure Cloud Shell, kubectl è già installato. Se si eseguono i comandi in locale, è possibile usare l'interfaccia della riga di comando di Azure o Azure PowerShell per installare kubectl.

  • Eseguire l'installazione kubectl in locale usando il az aks install-cli comando.

    az aks install-cli
    

Creare un cluster del servizio Azure Kubernetes

I cluster del servizio Azure Kubernetes possono usare il controllo degli accessi in base al ruolo di Kubernetes, che consente di definire l'accesso alle risorse in base ai ruoli assegnati agli utenti. Le autorizzazioni vengono combinate quando agli utenti vengono assegnati più ruoli. È possibile definire l'ambito delle autorizzazioni in un singolo spazio dei nomi o nell'intero cluster. Per altre informazioni, vedere la sezione sul Controllo dell'accesso alle risorse del cluster usando il controllo degli accessi in base al ruolo di Kubernetes e Microsoft Entra ID nel servizio Azure Kubernetes.

Per informazioni sui limiti delle risorse del servizio Azure Kubernetes e sulla disponibilità della regione, vedere Quote, restrizioni relative alle dimensioni delle macchine virtuali e disponibilità della regione nel servizio Azure Kubernetes.

Nota

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

Per consentire a un cluster del servizio Azure Kubernetes di interagire con altre risorse di Azure, la piattaforma Azure crea automaticamente un'identità del cluster. In questo esempio, all'identità del cluster viene concesso il diritto di eseguire lo spostamento delle immagini dall'istanza di Registro Azure Container creata nell'esercitazione precedente. Per eseguire correttamente il comando, è necessario avere un ruolo diproprietario o amministratore dell'account Azure nella sottoscrizione di Azure.

  • Creare un cluster del servizio Azure Kubernetes usando il comando az aks 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. Si continuerà a usare la variabile di ambiente, $ACRNAME, impostata nell'esercitazione precedente. Se questa variabile di ambiente non è impostata, impostarla ora sullo stesso valore usato in precedenza.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-count 2 \
        --generate-ssh-keys \
        --attach-acr $ACRNAME
    

    Nota

    Se sono già state generate chiavi SSH, è possibile che si verifichi un errore simile a linuxProfile.ssh.publicKeys.keyData is invalid. Per continuare, ripetere il comando senza il --generate-ssh-keys parametro.

Si può ovviare alla necessità di avere un ruolo diproprietario o amministratore dell’account Azure configurando manualmente un'entità servizio per eseguire lo spostamento 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, per una gestione più semplice, è possibile usare un'identità gestita anziché un'entità servizio.

Connettersi al cluster usando kubectl

  1. Configurare kubectl per connettersi al cluster Kubernetes usando il comando az aks 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
    
  2. Verificare la connessione al cluster usando il comando kubectl get nodes, da cui si ottiene un elenco dei nodi del cluster.

    kubectl get nodes
    

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

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-19366578-vmss000000   Ready    agent   47h   v1.28.9
    aks-nodepool1-19366578-vmss000001   Ready    agent   47h   v1.28.9
    

Passaggi successivi

In questa esercitazione è stato distribuito un cluster Kubernetes nel servizio Azure Kubernetes e configurato kubectl per la connessione al cluster. Contenuto del modulo:

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

Nell'esercitazione successiva si apprenderà come distribuire un'applicazione nel cluster.