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

Componenti Servizio Tanzu Kubernetes Grid

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

  • Il Servizio 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 di cloud che si integra con il Cluster supervisore. Inoltre, un cluster di Tanzu Kubernetes trasmette le richieste di volumi persistenti al Cluster supervisore, che è integrato con VMware Cloud Native Storage (CNS). Vedere Utilizzo dello storage persistente in vSphere with Tanzu.
  • 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.
Figura 1. Architettura e componenti di Servizio Tanzu Kubernetes Grid

Componenti del cluster di Tanzu Kubernetes

I componenti eseguiti in un cluster di Tanzu Kubernetes 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 Cluster 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 Servizio Tanzu Kubernetes Grid

È possibile utilizzare l'API di Servizio Tanzu Kubernetes Grid per eseguire il provisioning dei cluster di Tanzu Kubernetes, nonché gestirli. Si tratta di un'API dichiarativa che viene richiamata utilizzando kubectl e YAML.

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

Per richiamare l'API del Servizio 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.

Interfacce di Servizio Tanzu Kubernetes Grid

Gli amministratori di vSphere utilizzano vSphere Client per configurare il Spazio dei nomi vSphere e concedere le autorizzazioni. Possono inoltre monitorare le risorse utilizzate dai componenti del cluster e visualizzare le informazioni pertinenti di tali risorse nell'inventario di vSphere.

I tecnici di DevOps utilizzano Plug-in vSphere per kubectl per connettersi al Spazio dei nomi vSphere con le proprie credenziali vCenter Single Sign-On. Dopo la connessione, i tecnici di DevOps utilizzano kubectl per eseguire il provisioning dei cluster di Tanzu Kubernetes.

Gli sviluppatori possono connettersi a un cluster di cui è stato eseguito il provisioning utilizzando Plug-in vSphere per kubectl e le proprie credenziali vCenter Single Sign-On. In alternativa, se l'amministratore del cluster ha configurato un provider di autenticazione Kubernetes supportato, gli sviluppatori possono connettersi utilizzando kubectl. Per distribuire i carichi di lavoro in Kubernetes e interagire con l'ambiente cluster, gli sviluppatori utilizzano kubectl.

Demo di Servizio Tanzu Kubernetes Grid

Il video seguente illustra come utilizzare il Servizio Tanzu Kubernetes Grid per creare e far funzionare cluster di Tanzu Kubernetes: vSphere 7 con Kubernetes - Cluster di Tanzu Kubernetes - Panoramica tecnica.