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.
In questa esercitazione si usa il portale di Azure per distribuire un cluster del servizio Azure Kubernetes (AKS). Dopo aver distribuito il cluster AKS, si utilizza un chart Helm per distribuire i nodi virtuali su Istanze di Azure Container.
Prerequisiti
Questa esercitazione presuppone che siano installati gli strumenti seguenti:
- interfaccia della riga di comando di Azure
- kubectl (versione 1.30+)
- Helm
- Git
Accedere ad Azure
Accedere al portale di Azure all'indirizzo https://portal.azure.com
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Creare una rete virtuale per il tuo cluster AKS
Nella home page del portale di Azure selezionare Crea una risorsa.
Selezionare Rete>Rete virtuale.
Nella pagina Informazioni di base scegliere una sottoscrizione e immettere i valori seguenti:
- Gruppo di risorse: Crea nuovo>
virtualnodesresourcegroup - Nome rete virtuale:
myvirtualnetwork - Regione:
East US
Nella pagina Indirizzi IP, configurare i seguenti spazi di indirizzamento e subnet:
- 10.0.0.0/16:
defaultsottorete di dimensione /24 - 10.1.0.0/16:
akssottorete di dimensione /16 - 10.2.0.0/16:
cgsottorete di dimensione /16- La subnet
cgdeve avere una delega della subnet aMicrosoft.ContainerInstance/containerGroups. - Se i pod in esecuzione nei nodi virtuali necessitano di rete in uscita, è necessario configurare un gateway NAT e configurare la
cgsubnet per usarla. Per istruzioni su questa configurazione, vedere Configurare un gateway NAT per l'indirizzo IP statico per il traffico in uscita da un gruppo di contenitori.
- La subnet
Lasciare tutte le altre impostazioni predefinite, quindi selezionare Rivedi e crea.
Al termine della convalida, viene visualizzato un riepilogo delle impostazioni della rete virtuale. Selezionare Crea per inviare la richiesta di distribuzione della rete virtuale.
All’avvio della distribuzione, viene visualizzata una notifica che indica che la distribuzione è in corso. Viene visualizzata un'altra notifica quando la rete virtuale è stata distribuita.
Crea il tuo cluster AKS
Nella home page del portale di Azure selezionare Crea una risorsa.
Selezionare Contenitori>Servizio Azure Kubernetes (AKS).
Nella pagina Informazioni di base scegliere la stessa sottoscrizione usata per creare la rete virtuale e immettere i valori seguenti:
- Gruppo di risorse:
virtualnodesresourcegroup - Configurazione del set di impostazioni del cluster:
Dev/Test - Nome del cluster Kubernetes:
virtualnodescluster - Regione:
East US - Versione di Kubernetes: qualsiasi versione che inizia con
1.30., ad esempio1.30.9 - Aggiornamento automatico:
Enabled with patch
Nella pagina Pool di nodi selezionare qualsiasi SKU di macchina virtuale con almeno 4 vCPU e 16 GB di RAM per il pool di agentpool nodi. Questi nodi verranno usati per ospitare l'infrastruttura dei nodi virtuali. Non selezionare Enable virtual nodes: si riferisce alla precedente offerta di nodi virtuali per AKS.
Nella pagina Rete immettere i valori seguenti:
- Configurazione di rete:
Azure CNI Node Subnet - Usa la tua rete virtuale di Azure:
Enabled - Rete virtuale:
myvirtualnetwork - Subnet del cluster:
aks - Intervallo di indirizzi del servizio Kubernetes:
10.4.0.0/16 - Indirizzo IP del servizio DNS Kubernetes:
10.4.0.10 - Criteri di rete:
Calico
Lasciare tutte le altre impostazioni predefinite, quindi selezionare Rivedi e crea.
Al termine della convalida, viene visualizzato un riepilogo delle impostazioni del cluster AKS. Seleziona Crea per inviare la richiesta di distribuzione del cluster AKS.
All’avvio della distribuzione, viene visualizzata una notifica che indica che la distribuzione è in corso. Un'altra notifica viene visualizzata quando il cluster AKS è stato distribuito.
Assegnare le autorizzazioni all'identità gestita del cluster AKS
Quando si distribuisce un cluster del servizio Azure Kubernetes, il servizio Azure Kubernetes crea un gruppo di risorse nodo nella stessa sottoscrizione per ospitare l'infrastruttura del cluster. Per impostazione predefinita, questo gruppo di risorse ha un nome come MC_<resource group>_<AKS cluster>_<region>. Per questa esercitazione, il gruppo di risorse del nodo deve avere il nome MC_virtualnodesresourcegroup_virtualnodescluster_eastus.
Una delle risorse create nel gruppo di risorse del nodo è un'identità gestita con il nome virtualnodescluster_agentpool. Passa a questa identità gestita e seleziona Assegnazioni di ruolo di Azure. Aggiungere quindi le due assegnazioni di ruolo seguenti:
- Ambito:
Resource group - Sottoscrizione:
<your subscription name> - Gruppo di risorse:
MC_virtualnodesresourcegroup_virtualnodescluster_eastus - Ruolo:
Contributor
Questa assegnazione di ruolo consente la creazione di gruppi di contenitori ACI nel gruppo di risorse del nodo.
- Ambito:
Resource group - Sottoscrizione:
<your subscription name> - Gruppo di risorse:
virtualnodesresourcegroup - Ruolo:
Contributor
Questa assegnazione di ruolo consente l'inserimento di gruppi di contenitori ACI nella rete virtuale creata in questo gruppo di risorse.
Installare i nodi virtuali in Istanze di Azure Container usando il grafico Helm
Usa interfaccia della riga di comando di Azure per scaricare la configurazione e le credenziali del cluster AKS che hai creato. Questo configurerà kubectl per il tuo cluster AKS.
az login
az account set --subscription <your subscription ID>
az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup
Inoltre, il provider di risorse ACI verrà registrato nella sottoscrizione in modo da poter distribuire i gruppi di contenitori.
az provider register -n Microsoft.ContainerInstance
Clona il repository GitHub virtualnodesOnAzureContainerInstances. Il chart Helm per l'installazione di nodi virtuali in Istanze di Azure Container si trova nella cartella Helm/virtualnode.
Installare il grafico Helm usando il comando seguente:
helm install virtualnode <cloned repository location>\Helm\virtualnode
Nel giro di un minuto, un nuovo nodo virtuale verrà registrato nel cluster AKS e sarà nello stato Ready. È possibile controllare lo stato dei nodi del cluster del servizio Azure Kubernetes con kubectl.
kubectl get nodes
Distribuire il primo pod su un nodo virtuale
È possibile interagire con nodi virtuali come qualsiasi altro nodo Kubernetes. Ad esempio, l'esempio YAML seguente distribuirà un pod sul nodo virtuale nel cluster AKS. Si noti l'uso di selettori di nodo e tollerazioni per posizionare correttamente il pod. È possibile distribuire YAML usando kubectl apply.
apiVersion: v1
kind: Pod
metadata:
annotations:
name: demo-pod
spec:
containers:
- command:
- /bin/bash
- -c
- 'counter=1; while true; do echo "Hello, World! Counter: $counter"; counter=$((counter+1)); sleep 1; done'
image: mcr.microsoft.com/azure-cli
name: hello-world-counter
resources:
limits:
cpu: 2250m
memory: 2256Mi
requests:
cpu: 100m
memory: 128Mi
nodeSelector:
virtualization: virtualnode2
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
operator: Exists
Dopo aver distribuito il pod, è possibile interagire con esso esattamente come si farebbe con un pod Kubernetes "normale".
Ad esempio, per visualizzare lo stato e gli eventi del pod (utili per trovare errori!):
kubectl describe pods demo-pod
Per visualizzare i log per il pod:
kubectl logs demo-pod
Per ottenere una shell per il pod:
kubectl exec demo-pod -it -- /bin/bash
Passaggi successivi
In questa esercitazione è stato creato un cluster AKS nel portale di Azure, sono stati distribuiti nodi virtuali in Istanze di Azure Container usando un chart Helm ed è stato distribuito un pod in un nodo virtuale. Ora hai una familiarità di base con l’esecuzione dei pod Kubernetes sul tuo nodo virtuale e puoi utilizzare fin da subito la maggior parte delle funzionalità e dei costrutti di Kubernetes su questi pod.
Per usare funzionalità o comportamenti specializzati dei nodi virtuali per i pod, vedere Personalizzazioni dei pod.
Per personalizzare l'installazione del nodo virtuale, vedere Personalizzazioni dei nodi.
Se si prevede di distribuire carichi di lavoro su larga scala (migliaia di pod al minuto) nei nodi virtuali, sono disponibili procedure consigliate e raccomandazioni.