vSphere with Tanzu offre una funzionalità di servizio della macchina virtuale che consente ai tecnici di DevOps di distribuire ed eseguire macchine virtuali, oltre ai contenitori, in un ambiente Kubernetes condiviso e comune. È possibile utilizzare il servizio della macchine virtuale per gestire il ciclo di vita delle macchine virtuali in uno Spazio dei nomi vSphere. Il servizio della macchine virtuale gestisce le macchine virtuali autonome e le macchine virtuali che costituiscono i cluster Tanzu Kubernetes.

In genere, le esigenze e gli obiettivi dell'azienda determinano la decisione di eseguire i carichi di lavoro in una macchina virtuale anziché in un contenitore. Per informazioni su quando eseguire una macchina virtuale, vedere Utilizzo delle macchine virtuali in vSphere with Tanzu.

Concetti del servizio macchina virtuale

Per descrivere lo stato di una macchina virtuale da distribuire in uno Spazio dei nomi vSphere, è necessario utilizzare tali parametri come una classe di macchine virtuali, un'immagine della macchina virtuale e una classe di storage. Il servizio della macchine virtuale raccoglie quindi queste specifiche per creare macchine virtuali o macchine virtuali autonome che supportano i cluster Tanzu Kubernetes.

Servizio macchina virtuale
Il servizio della macchine virtuale è un componente di vSphere with Tanzu che fornisce un'API dichiarativa di tipo Kubernetes per la gestione delle macchine virtuali e delle risorse di vSphere associate. Il servizio della macchine virtuale consente agli amministratori di vSphere di fornire risorse e modelli, ad esempio classi di macchine virtuali e immagini di macchine virtuali, a Kubernetes. I tecnici di DevOps possono utilizzare queste risorse per descrivere lo stato desiderato di una macchina virtuale. Dopo che i tecnici di DevOps hanno specificato lo stato della macchina virtuale, il servizio della macchina virtuale converte lo stato desiderato in uno stato realizzato in base alle risorse dell'infrastruttura di supporto.

Una macchina virtuale creata tramite il servizio della macchina virtuale può essere gestita solo dallo spazio dei nomi Kubernetes con i comandi kubectl. Gli amministratori di vSphere non possono gestire la macchina virtuale dal vSphere Client, ma possono visualizzarne i dettagli e monitorare le risorse che utilizza. Per informazioni, vedere Monitorare le macchine virtuali disponibili in vSphere with Tanzu.

Classe della macchina virtuale
La classe di macchine virtuali è una specifica della macchina virtuale che può essere utilizzata per richiedere un set di risorse per una macchina virtuale. La classe di macchine virtuali è controllata e gestita da un amministratore di vSphere e definisce tali parametri come il numero di CPU virtuali, la capacità di memoria e le impostazioni di prenotazione. I parametri definiti sono supportati e garantiti dalle risorse dell'infrastruttura sottostante di un cluster Supervisore.

Un amministratore di vSphere può creare classi di macchine virtuali personalizzate.

Inoltre, la gestione del carico di lavoro offre diverse classi di macchine virtuali predefinite. In genere, ogni tipo di classe predefinito è disponibile in due edizioni: guaranteed e best effort. Un'edizione guaranteed riserva completamente le risorse richieste da una specifica della macchina virtuale. Una classe best effort non si comporta così e consente l'overcommit delle risorse. In genere, in un ambiente di produzione si utilizza un tipo overcommitted.

Esempi di classi di macchine virtuali predefinite sono le seguenti.

Classe CPU Memoria (GB) CPU e memoria riservate
guaranteed-large 4 16
best-effort-large 4 16 No
guaranteed-small 2 4
best-effort-small 2 4 No

L'amministratore di vSphere può assegnare un numero qualsiasi di classi di macchine virtuali esistenti per renderle disponibili ai tecnici di DevOps all'interno di uno spazio dei nomi specifico.

La classe di macchine virtuali offre un'esperienza semplificata per i tecnici di DevOps. Non è necessario che DevOps comprenda la configurazione completa di ogni macchina virtuale che intende creare. Possono invece selezionare una classe di macchine virtuali dalle opzioni disponibili e il servizio della macchina virtuale gestisce la configurazione della macchina virtuale.

Sul lato Kubernetes, le classi di macchine virtuali vengono visualizzate come risorse VirtualMachineClass e VirtualMachineClassBinding.

Immagine della macchina virtuale
L'immagine di una macchina virtuale è un modello contenente una configurazione software, che include un sistema operativo, applicazioni e dati.

Quando i tecnici di DevOps creano macchine virtuali, possono selezionare le immagini dalla libreria dei contenuti associata allo spazio dei nomi. In DevOps, le immagini vengono esposte come oggetti VirtualMachineImage.

Il servizio della macchina virtuale supporta un numero limitato di immagini di macchine virtuali e sistemi operativi guest. Le immagini delle macchine virtuali compatibili vengono visualizzate in VMware Marketplace come OVF. Assicurarsi di utilizzare solo le immagini delle macchine virtuali supportate dal servizio della macchina virtuale. Per trovare immagini compatibili, cercare l'immagine del servizio VM Service image sul sito Web di VMware Cloud Marketplace. Vedere un esempio dell'immagine del servizio della macchina virtuale per CentOS in VM Service Image for CentOS.

Origine contenuto
Un tecnico di DevOps utilizza una libreria di contenuti come origine delle immagini per creare una macchina virtuale. Analogamente alle classi di macchine virtuali, un amministratore di vSphere può assegnare librerie di contenuti esistenti a uno spazio dei nomi per renderle disponibili ai tecnici di DevOps.
Classe di storage
Il servizio della macchine virtuale utilizza classi di storage per posizionare i dischi virtuali e collegare dinamicamente volumi persistenti. Per ulteriori informazioni sulle classe di storage, vedere Utilizzo dello storage persistente in vSphere with Tanzu.
Specifica della macchina virtuale
I tecnici di DevOps descrivono lo stato desiderato di una macchina virtuale in un file YAML che unisce l'immagine della macchina virtuale, la classe di macchine virtuali e la classe di storage.
Rete
Il servizio della macchine virtuale non presenta requisiti specifici e si basa sulla configurazione di rete disponibile in vSphere with Tanzu. Il servizio della macchine virtuale supporta entrambi i tipi di rete, ovvero la rete vSphere o NSX-T. Quando vengono distribuite macchine virtuali, un provider di rete disponibile alloca indirizzi IP statici alle macchine virtuali. Per informazioni, vedere Servizi di rete per vSphere with Tanzu.

Workflow dell'amministratore di vSphere per il provisioning di una macchina virtuale

L'amministratore di vSphere può impostare le guide per i criteri e la governance delle macchine virtuali e fornire risorse delle macchine virtuali, come le classi di macchine virtuali e i modelli di macchine virtuali ai tecnici di DevOps. Dopo aver distribuito una macchina virtuale, è possibile monitorarla mediante vSphere Client.

Passaggio Descrizione Istruzioni
1 Consente di creare e gestire classi di macchine virtuali.
2 Associare un set di classi di macchine virtuali a uno spazio dei nomi. Associazione di una classe di macchine virtuali a uno spazio dei nomi in vSphere with Tanzu
3 Consente di creare e gestire le librerie di contenuti.
4 Associare una libreria di contenuti a uno spazio dei nomi.
5 Associare classi di storage a uno spazio dei nomi. Creazione e configurazione di uno Spazio dei nomi vSphere
6 Monitorare le macchine virtuali distribuite. Monitorare le macchine virtuali disponibili in vSphere with Tanzu

Workflow dei tecnici di DevOps per il provisioning di una macchina virtuale

I tecnici di DevOps con autorizzazioni possono esaminare le risorse delle macchine virtuali disponibili e distribuire le macchine virtuali nello spazio dei nomi. Utilizzano il comando kubectl per eseguire le seguenti attività.

Passaggio Descrizione Istruzioni
1 Elencare le classi di macchine virtuali, le immagini e altre risorse associate allo spazio dei nomi. Visualizzazione delle risorse della macchina virtuale disponibili in uno spazio dei nomi in vSphere with Tanzu
2 Creare una macchina virtuale.