L'argomento seguente definisce i termini e i concetti chiave di una distribuzione di Tanzu Kubernetes Grid (TKG). Gli altri argomenti di questa sezione forniscono riferimenti per gli elementi chiave di TKG e descrivono funzionalità di TKG sperimentali.
Tanzu Kubernetes Grid (TKG) è un'infrastruttura multicloud di alto livello per Kubernetes. Tanzu Kubernetes Grid consente di rendere Kubernetes disponibile per gli sviluppatori come utilità proprio come una rete elettrica. Gli operatori possono utilizzare questa rete per creare e gestire i cluster Kubernetes per l'hosting di applicazioni containerizzate e gli sviluppatori possono utilizzarla per sviluppare, distribuire e gestire le applicazioni. Per ulteriori informazioni, vedere Che cos'è Tanzu Kubernetes Grid?.
Un cluster di gestione è un cluster Kubernetes che distribuisce e gestisce altri cluster Kubernetes denominati cluster del carico di lavoro che ospitano app containerizzate.
Per ulteriori informazioni sui cluster di gestione, vedere Cluster di gestione: supervisori e autonomi.
I cluster del carico di lavoro distribuiti da Tanzu Kubernetes Grid sono cluster Kubernetes conformi a CNCF in cui le app containerizzate e i servizi in pacchetto vengono distribuiti ed eseguiti.
I cluster del carico di lavoro vengono distribuiti dal cluster di gestione ed eseguiti nella stessa infrastruttura cloud privata o pubblica.
Possono essere presenti molti cluster del carico di lavoro e, per soddisfare le esigenze delle app che ospitano, i cluster del carico di lavoro possono eseguire versioni diverse di Kubernetes e avere topologie diverse che includono tipi di nodi e conteggi dei nodi personalizzabili, sistemi operativi diversi, processori, storage, nonché altre impostazioni e configurazioni delle risorse.
Per la rete da pod a pod, i cluster del carico di lavoro utilizzano Antrea per impostazione predefinita ma possono utilizzare anche Calico.
Per ulteriori informazioni sui diversi tipi di cluster del carico di lavoro, vedere Cluster del carico di lavoro.
Un'istanza di Tanzu Kubernetes Grid è una distribuzione completa di Tanzu Kubernetes Grid, che include il cluster di gestione, i cluster del carico di lavoro distribuiti e i servizi in pacchetto che eseguono. È possibile utilizzare molte istanze di Tanzu Kubernetes Grid per ambienti diversi come produzione, staging e test, per provider IaaS diversi come vSphere, Azure e AWS, nonché per domini di errore diversi, ad esempio Datacenter-1
, us-east-2
di AWS o us-west-2
di AWS.
La CLI di Tanzu abilita i comandi tanzu
che distribuiscono e fanno funzionare TKG. Ad esempio:
tanzu cluster
comunicano con un cluster di gestione di TKG per creare e gestire cluster del carico di lavoro che ospitano carichi di lavoro containerizzati.tanzu package
installano e gestiscono i servizi in pacchetto utilizzati dai carichi di lavoro ospitati.tanzu apps
gestiscono i carichi di lavoro ospitati tramite Tanzu Application Platform in esecuzione nei cluster del carico di lavoro.tanzu management-cluster
(o tanzu mc
) distribuiscono TKG creando un cluster di gestione autonomo in un'infrastruttura di destinazione e quindi gestiscono la distribuzione quando il cluster di gestione è in esecuzione.La CLI di Tanzu utilizza i plug-in per modularizzare ed estendere le sue funzionalità.
In un cluster di gestione autonomo, la versione di Kubernetes eseguita dal cluster di gestione è uguale alla versione di Kubernetes utilizzata dalla CLI di Tanzu.
Per ulteriori informazioni, vedere Architettura e configurazione della CLI di Tanzu.
La macchina di bootstrap è un laptop, un host o un server in cui scaricare ed eseguire la CLI di Tanzu.
Quando si utilizza la CLI di Tanzu per distribuire un cluster di gestione autonomo, il cluster di gestione viene creato come cluster kind
nella macchina di bootstrap prima di distribuirlo nell'infrastruttura di destinazione.
La modalità di connessione della CLI di Tanzu a un cluster di gestione esistente dipende dalla relativa opzione di distribuzione:
Una macchina di bootstrap può essere un laptop locale, una jumpbox o qualsiasi altra macchina fisica o virtuale.
Per poter essere eseguite in modo sicuro ed efficiente, le app di Kubernetes devono in genere essere ospitate in nodi con versioni patch specifiche di Kubernetes e di un sistema operativo di base, insieme a versioni compatibili degli altri componenti. Queste versioni dei componenti cambiano nel tempo.
Per semplificare la diffusione, la sicurezza e la compatibilità, VMware pubblica versioni di Tanzu Kubernetes (TKr) in pacchetti che includono le versioni patch di Kubernetes e le versioni del sistema operativo di base in cui possono essere eseguite, insieme ad altri componenti con versione che supportano tale versione di Kubernetes e dei carichi di lavoro che ospita.
Il cluster di gestione utilizza istanze di TKr per creare cluster del carico di lavoro che eseguono le versioni di Kubernetes e del sistema operativo desiderate.
Ogni TKr contiene tutti gli elementi che una versione patch specifica di Kubernetes deve eseguire in vari tipi di macchine virtuali in varie infrastrutture cloud.
Per ulteriori informazioni, vedere Versioni di Tanzu Kubernetes e immagini dei nodi personalizzate.
Per fornire ai carichi di lavoro ospitati servizi come l'autenticazione, il controllo dell'ingresso, il registro del container, l'osservabilità, l'individuazione dei servizi e la registrazione, è possibile installare servizi con pacchetto Tanzu o pacchetti nei cluster TKG.
In alternativa all'esecuzione di istanze separate dello stesso servizio in più cluster del carico di lavoro, TKG con un cluster di gestione autonomo supporta l'installazione di alcuni servizi in un cluster di servizi condivisi, ovvero un cluster del carico di lavoro speciale che può pubblicare i propri servizi in altri cluster del carico di lavoro.
I servizi con pacchetto Tanzu vengono forniti in bundle con lo strumento Carvel imgpkg e sono testati per TKG da VMware.
Tali pacchetti possono includere:
Per informazioni su come scaricare e installare imgpkg
, vedere Installazione degli strumenti Carvel.
In Tanzu Kubernetes Grid v1.x e nei cluster basati su TKC legacy supportati da TKG 2.x, un piano del cluster è una configurazione standardizzata per i cluster del carico di lavoro. Il piano configura le impostazioni per il numero di nodi del piano di controllo, i nodi worker, i tipi di macchina virtuale e così via.
TKG v1.x include due piani predefiniti: dev
in cui i cluster hanno un nodo del piano di controllo e un nodo worker e prod
in cui i cluster hanno tre nodi del piano di controllo e tre worker.
TKG 2.x supporta una configurazione più granulare della topologia del cluster, come descritto in Configurazione di un cluster del carico di lavoro basato sulla classe.
ytt
Le impostazioni di configurazione per cluster e piani TKG provengono da origini open source upstream come il progetto di Cluster API e i progetti dei provider specifici di IaaS correlati. Queste origini pubblicano le specifiche degli oggetti Kubernetes in YAML, con impostazioni preconfigurate.
TKG supporta gli overlay ytt Carvel per consentire di personalizzare oggetti in modo non distruttivo per la propria installazione, mantenendo le specifiche YAML originali. Questo è utile quando i file di personalizzazione YAML si trovano nella macchina di bootstrap e la loro modifica diretta comporta la cancellazione della copia locale delle configurazioni upstream originali.
L'installazione dei plug-in di TKG comporta l'installazione dei file di configurazione del cluster e del piano del cluster nella directory ~/.config/tanzu/tkg
della macchina di bootstrap e supporta gli overlay ytt
per queste configurazioni.
Gli overlay ytt
specificano come modificare le impostazioni di destinazione nelle posizioni di destinazione in un file YAML di origine per supportare qualsiasi personalizzazione possibile.
Per ulteriori informazioni, vedere Configurazione avanzata di TKC con ytt.
Per informazioni su come scaricare e installare ytt
, vedere Installazione degli strumenti Carvel.
Per distribuire TKG con un cluster di gestione autonomo, il programma di installazione di Tanzu Kubernetes Grid è una procedura guidata grafica che viene avviata eseguendo il comando tanzu mc create --ui
. La procedura guidata del programma di installazione viene eseguita nella macchina di bootstrap e fornisce un'interfaccia utente che consente di eseguire il processo di distribuzione di un cluster di gestione autonomo.
La CLI di Tanzu utilizza un file di configurazione del cluster per creare cluster nelle circostanze seguenti:
Quando il programma di installazione di TKG crea un cluster di gestione autonomo, acquisisce l'input dell'utente dall'interfaccia utente e scrive i valori immessi in un file di configurazione del cluster. Il programma di installazione di TKG utilizza quindi questo file di configurazione del cluster per distribuire il cluster di gestione autonomo.
Le variabili obbligatorie e facoltative nel file di configurazione del cluster dipendono dall'opzione di distribuzione del cluster di gestione:
L'aggiornamento di TKG è un concetto che cambia in base all'opzione di distribuzione:
tanzu management-cluster upgrade
consente di aggiornare il cluster di gestione autonomo alla versione della CLI di Kubernetes.L'aggiornamento dei cluster del carico di lavoro in Tanzu Kubernetes Grid comporta la migrazione dei nodi in modo che vengano eseguiti in un'immagine della macchina virtuale di base con una versione più recente di Kubernetes. Per impostazione predefinita, i cluster del carico di lavoro vengono aggiornati alla versione nativa di Kubernetes del cluster di gestione, ma è possibile specificare altre versioni di Kubernetes non predefinite a cui aggiornare i cluster del carico di lavoro.
Per individuare le versioni di Kubernetes disponibili in Tanzu Kubernetes Grid, vedere:
Per integrare il cluster di gestione con Tanzu Mission Control, una piattaforma di gestione di Kubernetes con una console dell'interfaccia utente, vedere: