Tanzu Kubernetes Grid offre la gestione del ciclo di vita self-service dei cluster Tanzu Kubernetes Grid. È possibile utilizzare il Tanzu Kubernetes Grid per creare e gestire cluster di Tanzu Kubernetes Grid in una modalità dichiarativa nota agli operatori e agli sviluppatori di Kubernetes.

Componenti Tanzu Kubernetes Grid

Il Tanzu Kubernetes Grid espone tre livelli di controller per gestire il ciclo di vita di un cluster di Tanzu Kubernetes Grid.

  • Il Tanzu Kubernetes Grid esegue il provisioning dei cluster che includono i componenti necessari per l'integrazione con le risorse del Spazio dei nomi vSphere sottostante. Questi componenti includono un plug-in del provider del cloud che si integra con il Supervisore. Inoltre, un cluster di Tanzu Kubernetes Grid trasmette le richieste di volumi persistenti al Supervisore, che è integrato con VMware Cloud Native Storage (CNS). Vedere Storage persistente per i carichi di lavoro.
  • L'API del cluster fornisce le interfacce API dichiarative in stile Kubernetes per la creazione, la configurazione e la gestione del cluster. Gli input per l'API del cluster includono una risorsa che descrive il cluster, un set di risorse che descrive le macchine virtuali che costituiscono il cluster e un set di risorse che descrivono i componenti aggiuntivi del cluster.
  • Il Servizio macchina virtuale fornisce un'API dichiarativa in stile Kubernetes per la gestione delle macchine virtuali e delle risorse di vSphere associate. Il Servizio macchina virtuale introduce il concetto di una classe di macchine virtuali che rappresenta una configurazione hardware riutilizzabile astratta. La funzionalità fornita dal Servizio macchina virtuale è utilizzata per gestire il ciclo di vita del piano di controllo e delle macchine virtuali del nodo worker che ospitano un cluster di Tanzu Kubernetes Grid.
Figura 1. Architettura e componenti di Tanzu Kubernetes Grid
Nel Supervisore del diagramma vengono eseguiti spazi dei nomi utente e servizio. Gli spazi dei nomi contengono diversi tipi di risorse.

Componenti del cluster di Tanzu Kubernetes Grid

I componenti eseguiti in un cluster di Tanzu Kubernetes Grid si estendono in quattro aree: autenticazione e autorizzazione, integrazione dello storage, rete pod e bilanciamento del carico.

  • Webhook di autenticazione: webhook in esecuzione come pod all'interno del cluster per convalidare i token di autenticazione degli utenti.
  • Plug-in Container Storage Interface: plug-in CSI paravirtuale che si integra con CNS tramite il Supervisore.
  • Plug-in Container Network Interface: plug-in CNI che fornisce la rete di pod.
  • Implementazione del provider di cloud: supporta la creazione dei servizi di bilanciamento del carico Kubernetes.

API Tanzu Kubernetes Grid

È possibile utilizzare l'API di Tanzu Kubernetes Grid per eseguire il provisioning dei cluster di Tanzu Kubernetes Grid, nonché gestirli. Si tratta di un'API dichiarativa che viene richiamata utilizzando kubectl e YAML. È possibile scaricare l'eseguibile kubectl esteso di VMware dall'IP dell'endpoint dell'API del Supervisore.

Con un'API dichiarativa, anziché eseguire comandi imperativi per il sistema, è possibile specificare lo stato desiderato del cluster di Tanzu Kubernetes Grid: numero di nodi, storage disponibile, dimensioni delle macchine virtuali e versione del software Kubernetes. Il Tanzu Kubernetes Grid esegue il provisioning di un cluster che corrisponde allo stato desiderato.

Per richiamare l'API del Tanzu Kubernetes Grid, è necessario richiamare kubectl utilizzando un file YAML, che a sua volta richiama l'API. Dopo aver creato il cluster, aggiornare il file YAML per aggiornare il cluster.