È possibile utilizzare vSphere with Tanzu per trasformare vSphere in una piattaforma per l'esecuzione nativa dei carichi di lavoro Kubernetes a livello di hypervisor. Se abilitato in un cluster vSphere, vSphere with Tanzu offre la possibilità di eseguire i carichi di lavoro Kubernetes direttamente negli host ESXi e di creare cluster Kubernetes upstream all'interno di pool di risorse dedicati.

Le sfide dello stack di applicazioni attuale

I sistemi distribuiti attuali sono creati da microservizi multipli che in genere eseguono un gran numero di macchine virtuali e pod Kubernetes. Uno stack tipico non basato su vSphere with Tanzu è costituito da un ambiente virtuale sottostante, con l'infrastruttura Kubernetes distribuita nelle macchine virtuali e rispettivamente dai pod Kubernetes in esecuzione in queste macchine virtuali. Tre ruoli distinti operano in ogni parte dello stack, ovvero sviluppatori di applicazioni, amministratori di cluster Kubernetes e amministratori di vSphere.

Figura 1. Lo stack di applicazioni attuale
I diversi ruoli non hanno visibilità o controllo sugli ambienti degli altri:
  • Lo sviluppatore di applicazioni può eseguire pod Kubernetes e distribuire e gestire applicazioni basate su Kubernetes. Non si dispone di visibilità sull'intero stack che sta eseguendo centinaia di applicazioni.
  • Il tecnico di DevOps controlla solo l'infrastruttura Kubernetes, senza gli strumenti per gestire o monitorare l'ambiente virtuale e risolvere eventuali problemi relativi alle risorse e ad altri problemi.
  • L'amministratore di vSphere ha il controllo completo sull'ambiente virtuale sottostante, ma non ha visibilità sull'infrastruttura Kubernetes, sul posizionamento dei diversi oggetti Kubernetes nell'ambiente virtuale e sul modo in cui questi utilizzano le risorse.

Eseguire operazioni sull'intero stack può essere difficile, perché richiederebbe la comunicazione tra tutti e tre i ruoli. Anche la mancanza di integrazione tra i diversi livelli dello stack può comportare delle problematiche. Ad esempio, l'utilità di pianificazione di Kubernetes non ha visibilità sull'inventario di vCenter Server e non può posizionare i pod in modo intelligente.

Quali sono i vantaggi offerti da vSphere with Tanzu?

vSphere with Tanzu crea un piano di controllo di Kubernetes direttamente al livello dell'hypervisor. L'amministratore di vSphere abilita i cluster di vSphere esistenti per Gestione carico di lavoro creando così un livello Kubernetes all'interno degli host ESXi che fanno parte del cluster. Un cluster in cui è stata abilitato Gestione carico di lavoro è denominato Cluster supervisore.

Figura 2. vSphere with Tanzu

vSphere with Kubernetes
La presenza di un piano di controllo Kubernetes a livello di hypervisor consente di ottenere le seguenti funzionalità in vSphere:
  • L'amministratore di vSphere può creare spazi dei nomi nel Cluster supervisore, denominati Spazi dei nomi vSphere, e configurarli con quantità di memoria, CPU e storage specificate. I Spazi dei nomi vSphere vengono forniti ai tecnici di DevOps.
  • Il tecnico di DevOps può eseguire carichi di lavoro costituiti da container Kubernetes nella stessa piattaforma con pool di risorse condivisi all'interno di un Spazio dei nomi vSphere. In vSphere with Tanzu, i container vengono eseguiti all'interno di una tipologia di macchina virtuale speciale denominata Pod vSphere. È inoltre possibile distribuire macchine virtuali normali.
  • Il tecnico di DevOps può creare e gestire più cluster Kubernetes all'interno di uno spazio dei nomi e gestire il loro ciclo di vita utilizzando Servizio Tanzu Kubernetes Grid. I cluster Kubernetes creati utilizzando Servizio Tanzu Kubernetes Grid vengono chiamati cluster di Tanzu Kubernetes.
  • L'amministratore di vSphere può gestire e monitorare Pod vSphere, macchine virtuali e cluster di Tanzu Kubernetes utilizzando vSphere Client.
  • L'amministratore di vSphere ha piena visibilità su Pod vSphere, macchine virtuali e cluster di Tanzu Kubernetes in esecuzione in spazi dei nomi diversi, sul loro posizionamento nell'ambiente e sul modo in cui utilizzano le risorse.

La presenza di Kubernetes in esecuzione a livello di hypervisor semplifica anche la collaborazione tra gli amministratori di vSphere e i team di DevOps, poiché entrambi i ruoli lavorano con gli stessi oggetti.

Cos'è un carico di lavoro?

In vSphere with Tanzu, i carichi di lavoro sono applicazioni distribuite in uno dei modi seguenti:

  • Applicazioni composte da container in esecuzione all'interno di Pod vSphere, macchine virtuali normali o entrambi.
  • Cluster di Tanzu Kubernetes distribuiti utilizzando VMware Tanzu™ Kubernetes Grid™ Service.
  • Applicazioni in esecuzione all'interno dei cluster di Tanzu Kubernetes distribuiti utilizzando VMware Tanzu™ Kubernetes Grid™ Service.