Condividi tramite


Snapshot del pool di nodi del servizio Azure Kubernetes

Il servizio Azure Kubernetes rilascia una nuova immagine del nodo ogni settimana. Ogni nuovo cluster, nuovo pool di nodi o cluster di aggiornamento riceve sempre l'immagine più recente, che può rendere difficile mantenere la coerenza e avere ambienti ripetibili.

Gli snapshot del pool di nodi consentono di creare uno snapshot di configurazione del pool di nodi e quindi creare nuovi pool di nodi o nuovi cluster basati su tale snapshot per tutto il tempo in cui è supportata la configurazione e la versione kubernetes. Per altre informazioni sulle finestre di supporto, vedere Versioni di Kubernetes supportate nel servizio Azure Kubernetes.

Lo snapshot è una risorsa di Azure che contiene le informazioni di configurazione del pool di nodi di origine, ad esempio la versione dell'immagine del nodo, la versione kubernetes, il tipo di sistema operativo e lo SKU del sistema operativo. È quindi possibile fare riferimento a questa risorsa snapshot e ai rispettivi valori della relativa configurazione per creare qualsiasi nuovo pool di nodi o cluster basato su di esso.

Operazioni preliminari

Questo articolo presuppone che si disponga di un cluster del servizio Azure Kubernetes esistente. Se non si ha un cluster del servizio Azure Kubernetes, per indicazioni sulla progettazione di un'implementazione su scala aziendale del servizio Azure Kubernetes, vedere Pianificare la progettazione del servizio Azure Kubernetes.

Limiti

  • Qualsiasi pool di nodi o cluster creato da uno snapshot deve usare una macchina virtuale della stessa famiglia di macchine virtuali dello snapshot, ad esempio, non è possibile creare un nuovo pool di nodi serie N basato su uno snapshot acquisito da un pool di nodi serie D perché le immagini del nodo in questi casi sono strutturalmente diverse.
  • Gli snapshot devono essere creati nella stessa area del pool di nodi di origine. Tali snapshot possono essere usati per creare o aggiornare cluster e pool di nodi in altre aree.

Acquisire uno snapshot del pool di nodi

Per creare uno snapshot da un pool di nodi, è necessario l'ID risorsa del pool di nodi, che è possibile ottenere dal comando seguente:

NODEPOOL_ID=$(az aks nodepool show --name nodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --query id -o tsv)

Importante

Il pool di nodi del servizio Azure Kubernetes deve essere creato o aggiornato dopo il 10 novembre 2021 affinché venga acquisito uno snapshot. Se si usa l'estensione dell'interfaccia della riga di comando di Azure aks-preview versione 0.5.59 o versione successiva, i comandi per lo snapshot del pool di nodi sono stati modificati. Per i comandi aggiornati, vedere le informazioni di riferimento sull'interfaccia della riga di comando snapshot del pool di nodi.

A questo fine, per creare uno snapshot dal pool di nodi precedente, usare il comando dell'interfaccia della riga di comando az aks snapshot.

az aks nodepool snapshot create --name MySnapshot --resource-group MyResourceGroup --nodepool-id $NODEPOOL_ID --location eastus

Creare un pool di nodi da uno snapshot

Prima di tutto, è necessario l'ID risorsa dello snapshot creato in precedenza, che è possibile ottenere dal comando seguente:

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

È ora possibile usare il comando seguente per aggiungere un nuovo pool di nodi basato su questo snapshot.

az aks nodepool add --name np2 --cluster-name myAKSCluster --resource-group myResourceGroup --snapshot-id $SNAPSHOT_ID

Aggiornamento di un pool di nodi a uno snapshot

È possibile aggiornare un pool di nodi a una configurazione snapshot, purché la versione di snapshot kubernetes e la versione dell'immagine del nodo siano più recenti rispetto alle versioni del pool di nodi corrente.

Prima di tutto, è necessario l'ID risorsa dello snapshot creato in precedenza, che è possibile ottenere dal comando seguente:

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

È ora possibile usare questo comando per aggiornare il pool di nodi a questa configurazione snapshot.

az aks nodepool upgrade --name nodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --snapshot-id $SNAPSHOT_ID

Nota

La versione dell'immagine del pool di nodi è la stessa contenuta nello snapshot e rimane invariata per ogni operazione di scalabilità. Tuttavia, se questo pool di nodi viene aggiornato o viene eseguito un aggiornamento dell'immagine del nodo senza fornire un ID snapshot, l'immagine del nodo viene aggiornata alla versione più recente.

Nota

Per aggiornare solo la versione del nodo per il pool di nodi, usare il flag --node-image-only. Questa operazione è necessaria quando si aggiorna la versione dell'immagine del nodo per un pool di nodi in base a uno snapshot con una versione di Kubernetes identica.

Creare un cluster da uno snapshot

Quando si crea un cluster da uno snapshot, la configurazione dello snapshot crea il pool di sistema originale del cluster.

Prima di tutto, è necessario l'ID risorsa dello snapshot creato in precedenza, che è possibile ottenere dal comando seguente:

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

È ora possibile usare questo comando per creare questo cluster dalla configurazione dello snapshot.

az aks create \
    --name myAKSCluster2 \
    --resource-group myResourceGroup \
    --snapshot-id $SNAPSHOT_ID \
    --generate-ssh-keys

Passaggi successivi