Aggiungere un host dedicato di Azure a un cluster del servizio Azure Kubernetes

L'host dedicato di Azure è un servizio che offre server fisici, in grado di ospitare una o più macchine virtuali, dedicati a una sottoscrizione di Azure. Gli host dedicati sono gli stessi server fisici usati nei data center, inseriti come risorsa. È possibile effettuare il provisioning di host dedicati all'interno di un'area, di una zona di disponibilità e di un dominio di errore. Quindi, è possibile inserire le macchine virtuali direttamente negli host con provisioning, in base alla configurazione più adatta alle esigenze.

L'uso di host dedicati di Azure per i nodi con il cluster del servizio Azure Kubernetes offre i vantaggi seguenti:

  • Isolamento hardware a livello di server fisico. Nei tuoi host non verranno posizionate altre VM. Gli host dedicati vengono distribuiti negli stessi data center e condividono la stessa rete e la stessa infrastruttura di archiviazione sottostante di altri host non isolati.
  • Controllo sugli eventi di manutenzione avviati dalla piattaforma di Azure. Anche se la maggior parte degli eventi di manutenzione non ha alcun impatto sulle macchine virtuali, esistono alcuni carichi di lavoro sensibili in cui ogni secondo di sospensione può avere un impatto. Con gli host dedicati, è possibile acconsentire esplicitamente a una finestra di manutenzione per ridurre l'impatto sul servizio.

Operazioni preliminari

  • Una sottoscrizione di Azure. Se non hai una sottoscrizione Azure, crea un account gratuito.
  • Prima di iniziare, assicurarsi che la versione dell'interfaccia della riga di comando di Azure sia 2.39.0 o successiva. Se si tratta di una versione precedente, installare la versione più recente.

Limiti

Quando si integra l'host dedicato di Azure con il servizio Azure Kubernetes, si applicano le limitazioni seguenti:

  • Rete accelerata
  • Non è possibile convertire un pool di agenti esistente da non ADH ad ADH o da ADH a non ADH.
  • Non è supportato eseguire l’aggiornamento del pool di agenti dal gruppo host A al gruppo host B.
  • Uso di ADH tra sottoscrizioni.

Pianificazione della capacità DIH nel servizio Azure Kubernetes

Non tutti gli SKU dell'host sono disponibili in tutte le aree e nelle zone di disponibilità. È possibile elencare la disponibilità dell'host e tutte le restrizioni dell'offerta prima di avviare il provisioning di host dedicati.

az vm list-skus --location eastus --resource-type hostGroups/hosts  -o table

Nota

In primo luogo, quando si usa il gruppo host, il conteggio dei domini di errore del pool di nodi è sempre uguale al numero di domini di errore del gruppo host. Per usare il ridimensionamento automatico del cluster per usare ADH e servizio Azure Kubernetes, assicurarsi che il numero di domini di errore e la capacità del gruppo host siano sufficienti. In secondo luogo, modificare solo il numero di domini di errore dal valore predefinito 1 a qualsiasi altro numero se si sa cosa stanno facendo in quanto una configurazione errata potrebbe causare una configurazione non modificabile.

Determinare il numero di host necessari in base all'utilizzo previsto della macchina virtuale.

Valutare l'utilizzo dell'host per determinare il numero di macchine virtuali allocabili in base alle dimensioni prima della distribuzione.

az vm host get-instance-view --resource-group myDHResourceGroup --host-group MyHostGroup --name MyHost

Aggiungere un gruppo host dedicato a un cluster del servizio Azure Kubernetes

Un gruppo host è una risorsa che rappresenta una raccolta di host dedicati. È necessario creare un gruppo host in un'area e in una zona di disponibilità e aggiungervi gli host. Quando si pianifica la disponibilità elevata, sono disponibili altre opzioni. Con gli host dedicati è possibile usare una o entrambe le opzioni seguenti:

  • Estendersi tra più zone di disponibilità. In questo caso, è necessario disporre di un gruppo host in ognuna delle zone che si desidera usare.
  • Estendersi tra più domini di errore mappati a rack fisici.

In entrambi i casi, è necessario specificare il numero di domini di errore per il gruppo host. Se non si desidera estendere i domini di errore nel gruppo, usare un numero di domini di errore pari a 1.

È anche possibile decidere di usare le zone di disponibilità e i domini di errore.

Creare un gruppo host

A questo creare un host dedicato nel gruppo host. Oltre a un nome per l'host, è necessario fornire lo SKU per l'host. Lo SKU dell'host acquisisce la serie di macchine virtuali supportate e la generazione dell'hardware per l'host dedicato.

Per altre informazioni sugli SKU e i prezzi degli host, vedere Prezzi degli host dedicati di Azure.

Usare az vm host create per creare un host. Se si imposta un numero di domini di errore per il gruppo host, verrà richiesto di specificare il dominio di errore per l'host.

In questo esempio si userà az vm host group create per creare un gruppo host usando le zone di disponibilità e i domini di errore.

az vm host group create \
--name myHostGroup \
--resource-group myDHResourceGroup \
--zone 1 \
--platform-fault-domain-count 1 \
--automatic-placement true

Crea un host dedicato

A questo creare un host dedicato nel gruppo host. Oltre a un nome per l'host, è necessario fornire lo SKU per l'host. Lo SKU dell'host acquisisce la serie di macchine virtuali supportate e la generazione dell'hardware per l'host dedicato.

Se si imposta un numero di domini di errore per il gruppo host, sarà necessario specificare il dominio di errore per l'host.

az vm host create \
--host-group myHostGroup \
--name myHost \
--sku DSv3-Type1 \
--platform-fault-domain 1 \
--resource-group myDHResourceGroup

Usa un'identità assegnata dall'utente

Importante

È necessaria un'identità assegnata dall'utente con ruolo "collaboratore" nel gruppo di risorse del gruppo host.

Creare prima di tutto un'identità gestita

az identity create --resource-group <Resource Group> --name <Managed Identity name>

Assegnare un'identità gestita

az role assignment create --assignee <id> --role "Contributor" --scope <Resource id>

Creare un cluster del servizio Azure Kubernetes usando il gruppo host

Creare un cluster del servizio Azure Kubernetes e aggiungere il gruppo host appena configurato.

az aks create \
    --resource-group MyResourceGroup \
    --name MyManagedCluster \
    --location eastus \
    --nodepool-name agentpool1 \
    --node-count 1 \
    --host-group-id <id> \
    --node-vm-size Standard_D2s_v3 \
    --assign-identity <id> \
    --generate-ssh-keys

Aggiungere un pool di nodi host dedicati a un cluster del servizio Azure Kubernetes esistente

Aggiungere un gruppo host a un cluster del servizio Azure Kubernetes già esistente.

az aks nodepool add --cluster-name MyManagedCluster --name agentpool3 --resource-group MyResourceGroup --node-count 1 --host-group-id <id> --node-vm-size Standard_D2s_v3

Rimuovere un pool di nodi host dedicato da un cluster del servizio Azure Kubernetes

az aks nodepool delete --cluster-name MyManagedCluster --name agentpool3 --resource-group MyResourceGroup

Passaggi successivi

In questo articolo si è appreso come creare un cluster del servizio Azure Kubernetes con un host dedicato e come aggiungere un host dedicato a un cluster esistente. Per altre informazioni sugli host dedicati, vedere Host dedicati.