Per dimensionare nodi di cluster di Tanzu Kubernetes, specificare la classe di macchine virtuali. vSphere with Tanzu offre classi predefinite ed è possibile crearne di proprie. Per utilizzare una classe, associarla al Spazio dei nomi vSphere di destinazione e fare riferimento alla classe nel manifesto.

Informazioni sulle classi di macchine virtuali

Una classe di macchine virtuali è una richiesta di prenotazioni di risorse nella macchina virtuale per potenza di elaborazione (CPU) e memoria (RAM). Ad esempio, guaranteed-large con 4 CPU e 16 GB di RAM.

Sono disponibili due tipi di prenotazioni di classi: Garantita e Massimo sforzo. La classe Garantita prenota completamente le sue risorse configurate. Questo significa che per un determinato cluster, spec.policies.resources.requests corrisponde alle impostazioni di spec.hardware. La classe Massimo sforzo consente di eseguire l'overcommit delle risorse. In genere il tipo di classe Garantita viene utilizzato per i carichi di lavoro di produzione. Vedere Attributi delle classi di macchine virtuali in vSphere with Tanzu.
Nota: La dimensione del disco della macchina virtuale è impostata dal modello OVA e non dalla definizione della classe di macchine virtuali. Per Release di Tanzu Kubernetes, la dimensione del disco è 16 GB. Vedere Informazioni sulle distribuzioni di Release di Tanzu Kubernetes.

Utilizzo delle classi di macchine virtuali

Per utilizzare una classe di macchine virtuali con un cluster di Tanzu Kubernetes, la classe di macchine virtuali deve essere associata al Spazio dei nomi vSphere in cui viene eseguito il provisioning del cluster. A tale scopo, associare la classe allo spazio dei nomi di destinazione. Vedere Configurazione di uno Spazio dei nomi vSphere per Release di Tanzu Kubernetes.

Per elencare le classi di macchine virtuali disponibili nel Spazio dei nomi vSphere di destinazione, utilizzare il comando kubectl get virtualmachineclassbinding. Per visualizzare tutte le classi di macchine virtuali presenti nel Cluster supervisore, eseguire il comando kubectl describe virtualmachineclasses. Si noti, tuttavia, che poiché solo le classi associate possono essere utilizzate per eseguire il provisioning di un cluster, il secondo comando è solo informativo. Vedere Workflow per il provisioning di cluster di Tanzu Kubernetes.
Nota: La necessità di associare classi di macchine virtuali al Spazio dei nomi vSphere si applica solo ai nuovi cluster. I cluster di Tanzu Kubernetes esistenti che utilizzano le classi di macchine virtuali predefinite continuano a funzionare senza richiedere l'associazione dello spazio dei nomi.

Classi di macchine virtuali predefinite

Nella tabella Classi di macchine virtuali predefinite sono elencati i tipi di classi di macchine virtuali predefinite utilizzati come dimensioni di distribuzione per nodi di cluster di Tanzu Kubernetes .

Per evitare l'overcommit delle risorse, i carichi di lavoro di produzione devono utilizzare il tipo di classe Garantita. Per evitare l'esaurimento della memoria, non utilizzare la dimensione classe piccola o molto piccola per qualsiasi nodo di lavoro in cui si distribuiscono carichi di lavoro in qualsiasi ambiente (sviluppo, test o produzione).

Tabella 1. Classi di macchine virtuali predefinite
Classe CPU Memoria (GB) CPU e memoria riservate
guaranteed-8xlarge 32 128
best-effort-8xlarge 32 128 No
guaranteed-4xlarge 16 128
best-effort-4xlarge 16 128 No
guaranteed-2xlarge 8 64
best-effort-2xlarge 8 64 No
guaranteed-xlarge 4 32
best-effort-xlarge 4 32 No
guaranteed-large 4 16
best-effort-large 4 16 No
guaranteed-medium 2 8
best-effort-medium 2 8 No
guaranteed-small 2 4
best-effort-small 2 4 No
guaranteed-xsmall 2 2
best-effort-xsmall 2 2 No

Classi di macchine virtuali personalizzate

vSphere with Tanzu supporta classi di macchine virtuali personalizzate da utilizzare con cluster di Tanzu Kubernetes. Dopo aver definito una classe di macchine virtuali personalizzata, è necessario associarla al Spazio dei nomi vSphere di destinazione prima di poterla utilizzare con un cluster. Vedere Creazione di una classe di macchine virtuali in vSphere with Tanzu.

Modifica delle classi di macchine virtuali

Le definizioni delle classi di macchine virtuali non sono immodificabili. Qualsiasi classe di macchine virtuali può essere modificata, incluse le definizioni di classi di macchine virtuali predefinite. Se si modifica una classe di macchine virtuali, i nodi del cluster di Tanzu Kubernetes esistenti rimangono inalterati. I nuovi cluster di Tanzu Kubernetes utilizzeranno la definizione della classe modificata.
Attenzione: Se si modifica una classe di macchine virtuali utilizzata da un cluster di Tanzu Kubernetes e poi si scala orizzontalmente tale cluster, i nuovi nodi utilizzeranno la definizione di classe modificata, ma i nodi esistenti utilizzeranno la definizione della classe iniziale, determinando una mancata corrispondenza delle classi.