Prima di poter utilizzare la CLI di Tanzu o l'interfaccia del programma di installazione per distribuire un cluster di gestione, è necessario preparare l'ambiente vSphere. È necessario assicurarsi che vSphere soddisfi i requisiti generali e importare i modelli di immagine di base da cui Tanzu Kubernetes Grid crea le macchine virtuali dei nodi del cluster. Ogni modello di immagine di base contiene una versione del sistema operativo di una macchina e una versione di Kubernetes.
kubectl
installati. Vedere Installazione della CLI di Tanzu e della CLI di Kubernetes per l'utilizzo con i cluster di gestione autonomi.
tanzu
, kubectl
e altri comandi.Una rete di vSphere* con:
VSPHERE_CONTROL_PLANE_ENDPOINT
oppure, se si utilizza NSX Advanced Load Balancer per l'endpoint del piano di controllo, l'indirizzo verrà impostato automaticamente da un pool di indirizzi.CLUSTER_API_SERVER_PORT
oppure, per gli ambienti con NSX Advanced Load Balancer, impostare la variabile VSPHERE_CONTROL_PLANE_ENDPOINT_PORT
quando si distribuisce il cluster.~/.config/tanzu/tkg/bom/
e il suo nome include la versione di Tanzu Kubernetes Grid. Ad esempio, tkg-bom-v2.4.0+vmware.1.yaml
per v2.4.0.date
per visualizzare le impostazioni del fuso orario.esxcli system time set
.NSX Advanced Load Balancer (ALB) installato nell'istanza di vSphere se si desidera utilizzare NSX ALB come bilanciamento del carico e il provider dell'endpoint per l'alta disponibilità del piano di controllo. Vedere Installazione di NSX Advanced Load Balancer.
Se nell'ambiente vSphere viene eseguito VMware NSX, è possibile utilizzare le interfacce di NSX quando si distribuiscono cluster di gestione. Assicurarsi che la configurazione di NSX includa un segmento in cui DHCP è abilitato. Assicurarsi che NTP sia configurato in tutti gli host ESXi, in vCenter Server e nella macchina di bootstrap.
*In alternativa, vedere Preparazione di un ambiente con limitazioni Internet per l'installazione senza accesso alla rete esterna.
La tabella seguente descrive esempi di dimensionamento per i cluster di gestione in vSphere. Utilizzare questi dati come linee guida per assicurarsi che le dimensioni del cluster di gestione vengano modificate per gestire il numero di cluster del carico di lavoro che si intende distribuire. La colonna Dimensioni macchina virtuale carico di lavoro include le dimensioni delle macchine virtuali utilizzate per gli esempi nella colonna Può gestire….
Piano del cluster di gestione | Dimensioni macchina virtuale cluster di gestione | Può gestire… | Dimensioni macchina virtuale cluster carico di lavoro |
---|---|---|---|
3 nodi del piano di controllo e 3 nodi worker | Nodi piano di controllo:
Nodi worker:
|
Esempi:
|
Nodi piano di controllo:
Nodi worker:
|
3 nodi del piano di controllo e 3 nodi worker | Nodi piano di controllo:
Nodi worker:
|
Esempio: un cluster del carico di lavoro, distribuito con 3 nodi del piano di controllo e 500 nodi worker | Nodi piano di controllo:
Nodi worker:
|
3 nodi del piano di controllo e 3 nodi worker | Nodi piano di controllo:
Nodi worker:
|
Esempio: 200 cluster del carico di lavoro; ogni cluster è distribuito con 3 nodi del piano di controllo e 5 nodi worker | Nodi piano di controllo:
Nodi worker:
|
Vedere anche Dimensioni minime della macchina virtuale per i nodi del cluster di seguito.
In vSphere 8, la funzionalità vSphere with Tanzu include un supervisore che è possibile utilizzare come cluster di gestione per Tanzu Kubernetes Grid. Ciò significa che in vSphere 8 non è necessario utilizzare tanzu management-cluster create
o tanzu mc create
per distribuire un cluster di gestione se vSphere with Tanzu e il supervisore sono abilitati. La distribuzione di un cluster di gestione di Tanzu Kubernetes Grid in vSphere 8 quando vSphere with Tanzu non è abilitato è supportata, ma l'opzione preferita consiste nell'abilitare vSphere with Tanzu e utilizzare il cluster supervisore integrato, se possibile. Poiché il supervisore vSphere with Tanzu è strettamente integrato con vSphere, offre un'esperienza utente più semplificata rispetto all'utilizzo di un cluster di gestione autonomo. Tuttavia, un cluster di gestione autonomo in vSphere offre più opzioni di configurazione e personalizzazione rispetto a un supervisore.
ImportanteLe versioni della CLI di Tanzu compatibili con TKG 2.x e con il supervisore vSphere with Tanzu in vSphere 8 non sono compatibili con il cluster supervisore in vSphere 7. Per utilizzare la CLI di Tanzu con un cluster supervisore vSphere with Tanzu in vSphere 7, utilizzare la versione della CLI di Tanzu da TKG v1.6. Per utilizzare le versioni della CLI di Tanzu compatibili con TKG 2.x con Supervisore, eseguire l'aggiornamento a vSphere 8. È possibile distribuire un cluster di gestione autonomo TKG 2.x in vSphere 7 se non è presente un cluster supervisore vSphere with Tanzu. Per informazioni sulla compatibilità tra la CLI di Tanzu e i prodotti VMware, vedere la documentazione della CLI di Tanzu.
La CLI di Tanzu funziona sia con i cluster di gestione forniti da vSphere with Tanzu sia con i cluster di gestione autonomi distribuiti da Tanzu Kubernetes Grid in Azure, Amazon Web Services (AWS) e vSphere quando vSphere with Tanzu non è abilitato, consentendo di distribuire e gestire cluster del carico di lavoro tra più infrastrutture tramite un unico strumento. Per informazioni su come utilizzare la CLI di Tanzu con un supervisore, vedere Connessione della CLI di Tanzu al supervisore in Creazione e gestione di cluster del carico di lavoro TKG 2.4 con la CLI di Tanzu.
Per informazioni sulla funzionalità vSphere with Tanzu in vSphere 8, vedere la documentazione di vSphere with Tanzu 8.0.
NotaIn Azure VMware Solution, non è possibile creare un cluster supervisore ed è necessario distribuire un cluster di gestione per eseguire i comandi di
tanzu
.
Ogni cluster di gestione e del carico di lavoro distribuito in vSphere richiede un indirizzo IP virtuale statico per le richieste esterne al server dell'API del cluster. È necessario assegnare questo indirizzo IP in modo che non sia compreso nell'intervallo DHCP, ma si trovi nella stessa subnet dell'intervallo DHCP.
Il pod Kube-Vip del piano di controllo del cluster utilizza questo indirizzo IP virtuale statico per le richieste dell'API e il certificato del server dell'API include l'indirizzo per abilitare la comunicazione TLS sicura. Nei cluster del carico di lavoro, Kube-Vip viene eseguito in modalità di failover di livello 2 di base, assegnando l'indirizzo IP virtuale a un nodo del piano di controllo alla volta. In questa modalità, Kube-Vip non funziona come un vero bilanciamento del carico per il traffico del piano di controllo.
Tanzu Kubernetes Grid può utilizzare Kube-Vip per il bilanciamento del carico di lavoro nei cluster del carico di lavoro (Anteprima tecnica). Non è possibile utilizzare Kube-VIP come servizio LoadBalancer
nei cluster basati su Windows. Per ulteriori informazioni, vedere Bilanciamento del carico Kube-Vip.
Per bilanciare i carichi di lavoro in vSphere, utilizzare NSX Advanced Load Balancer, noto anche come Avi Load Balancer, Essentials Edition.
ImportanteIn vSphere 8, per utilizzare NSX Advanced Load Balancer con un cluster di gestione autonomo TKG e i relativi cluster del carico di lavoro è necessario NSX ALB v22.1.2 o versione successiva e TKG v2.1.1 o versione successiva.
Prima di poter distribuire un cluster in vSphere, è necessario importare in vSphere un modello di immagine di base contenente le versioni del sistema operativo e di Kubernetes in cui vengono eseguiti i nodi del cluster. Per ogni coppia supportata di versione del sistema operativo e versione di Kubernetes, VMware pubblica un modello di immagine di base in formato OVA per la distribuzione dei cluster in vSphere. Dopo aver importato il file OVA in vSphere, è necessario convertire la macchina virtuale risultante in un modello di macchina virtuale.
Le immagini di base supportate per i nodi del cluster dipendono dal tipo di cluster, come indicato di seguito:
Cluster di gestione: in OVA deve essere presente Kubernetes v1.27.5, la versione predefinita per Tanzu Kubernetes Grid v2.4.0. Deve quindi essere uno dei seguenti:
Ubuntu v20.04 Kubernetes v1.27.5 OVA
NotaIn Tanzu Kubernetes Grid v2.4.0, l'immagine OVA di Ubuntu utilizza la modalità di avvio UEFI (Unified Extensible Firmware Interface).
Photon v3 Kubernetes v1.27.5 OVA
Un file OVA personalizzato con una versione di Tanzu Kubernetes personalizzata (TKr), come descritto in Creazione di immagini di macchine.
Per importare un modello di immagine di base in vSphere:
Scaricare un file OVA di Tanzu Kubernetes Grid per i nodi del cluster. Per il cluster di gestione, deve essere uno dei download di Kubernetes v1.27.5 OVA.
Importanteassicurarsi di scaricare i modelli di immagine di base OVA più recenti se vengono rilasciate patch di sicurezza.
È possibile trovare modelli di immagine di base aggiornati che includono patch di sicurezza nella pagina di download del prodotto Tanzu Kubernetes Grid.
In vSphere Client fare clic con il pulsante destro del mouse su un oggetto nell'inventario di vCenter Server e scegliere Distribuisci modello OVF.
Seguire le istruzioni del programma di installazione per distribuire una macchina virtuale da OVA.
NotaSe si seleziona il thick provisioning come formato del disco, quando Tanzu Kubernetes Grid crea macchine virtuali dei nodi del cluster dal modello, viene prenotato l'intero disco di ciascun nodo. Lo storage può quindi essere consumato rapidamente se si distribuiscono molti cluster o cluster con molti nodi. Tuttavia, se si seleziona il thin provisioning durante la distribuzione dei cluster, può dare un'impressione non corretta della quantità di storage disponibile. Se si seleziona il thin provisioning, è possibile che al momento della distribuzione dei cluster sia disponibile spazio di storage sufficiente, che può però esaurirsi quando i cluster vengono eseguiti e accumulano dati.
Al termine della distribuzione di OVA, fare clic con il pulsante destro del mouse sulla macchina virtuale e scegliere Modello > Converti in modello.
Importantenon accendere la macchina virtuale prima di convertirla in modello.
Nella vista Macchine virtuali e modelli fare clic con il pulsante destro del mouse sul nuovo modello, scegliere Aggiungi autorizzazione e assegnare tkg-user
al modello con il ruolo TKG
.
Per informazioni su come creare l'utente e il ruolo per Tanzu Kubernetes Grid, vedere Autorizzazioni necessarie per l'account vSphere di seguito.
Ripetere la procedura per ciascuna versione di Kubernetes per cui è stato scaricato il file OVA.
L'account di vCenter Single Sign-On fornito a Tanzu Kubernetes Grid quando si distribuisce un cluster di gestione deve disporre delle autorizzazioni corrette per poter eseguire le operazioni necessarie in vSphere.
Non è consigliabile fornire un account amministratore di vSphere a Tanzu Kubernetes Grid, perché in questo modo a Tanzu Kubernetes Grid vengono concesse autorizzazioni molto più elevate di quelle di cui necessita. Il modo migliore per assegnare autorizzazioni a Tanzu Kubernetes Grid consiste nel creare un ruolo e un account utente e quindi concedere all'account utente tale ruolo per gli oggetti di vSphere.
NotaSe si distribuiscono cluster del carico di lavoro in vSphere 7 o 8 e vSphere with Tanzu è abilitato, è necessario impostare l'autorizzazione Globale (Global) > Amministratore del cloud (Cloud Admin) oltre alle autorizzazioni elencate di seguito. Se si intende utilizzare Velero per eseguire il backup e il ripristino dei cluster del carico di lavoro, è inoltre necessario impostare le autorizzazioni indicate in Credenziali e privilegi per l'accesso a VMDK nella Guida alla programmazione di Virtual Disk Development Kit.
In vSphere Client passare a Amministrazione > Controllo degli accessi > Ruoli e creare un nuovo ruolo, ad esempio TKG
, con le autorizzazioni seguenti.
Oggetto di vSphere | Autorizzazione necessaria |
---|---|
Cns | Ricercabile |
Datastore | Alloca spazio Sfoglia datastore Operazioni file di basso livello |
Globale (se si utilizza Velero per il backup e il ripristino) | Disabilita metodi Abilita metodi Licenze |
Network | Assegna rete |
Storage basato sul profilo | Visualizzazione dello storage basato sul profilo |
Risorsa | Assegna macchina virtuale al pool di risorse |
Sessioni | Messaggio Convalida sessione |
Macchina virtuale | Modifica configurazione > Aggiungi disco esistente Modifica configurazione > Aggiungi nuovo disco Modifica configurazione > Aggiungi o rimuovi dispositivo Modifica configurazione > Configurazione avanzata Modifica configurazione > Modifica conteggio CPU Modifica configurazione > Modifica memoria Modifica configurazione > Modifica impostazioni Modifica configurazione > Configura dispositivo non elaborato Modifica configurazione > Estendi disco virtuale Modifica configurazione > Modifica impostazioni dispositivo Modifica configurazione > Rimuovi disco Modifica configurazione > Attiva/Disattiva rilevamento modifiche disco* Modifica inventario > Crea da esistente Modifica inventario > Rimuovi Interazione > Accendi Interazione > Spegni Provisioning > Consenti accesso a disco di sola lettura* Provisioning > Consenti download macchina virtuale* Provisioning > Distribuisci modello Gestione snapshot > Crea snapshot* Gestione snapshot > Rimuovi snapshot* *Necessaria per abilitare il plug-in Velero, come descritto in Backup e ripristino dell'infrastruttura di cluster di gestione e del carico di lavoro. Se necessario, è possibile aggiungere queste autorizzazioni in un secondo momento. |
vApp | Importa |
In Amministrazione > Single Sign-On > Utenti e gruppi creare un nuovo account utente nel dominio appropriato, ad esempio tkg-user
.
Nelle viste Host e cluster, Macchine virtuali e modelli, Storage e Rete, fare clic con il pulsante destro del mouse sugli oggetti che verranno utilizzati dalla distribuzione di Tanzu Kubernetes Grid, scegliere Aggiungi autorizzazione e assegnare tkg-user
con il ruolo TKG
a ciascun oggetto.
Configurare le dimensioni dei nodi del cluster di gestione e del carico di lavoro in base alla complessità del cluster e alla richiesta prevista. È possibile impostarle su small
, medium
, large
o extra-large
come indicato in Dimensioni dei nodi predefinite.
Per tutti i cluster in vSphere, è possibile configurare tali dimensioni con le variabili di configurazione del cluster SIZE
, CONTROLPLANE_SIZE
e WORKER_SIZE
. In alternativa, per una maggiore granularità, è possibile utilizzare le variabili di configurazione VSPHERE_*
, _DISK_GIB
, _NUM_CPUS
e _MEM_MIB
.
Per i cluster di gestione, anche il campo Tipo di istanza dell'interfaccia del programma di installazione consente di configurare le dimensioni delle macchine virtuali dei nodi.
Per i cluster di gestione e del carico di lavoro con un singolo worker che eseguono applicazioni di esempio, utilizzare le seguenti dimensioni minime delle macchine virtuali:
small
medium
Per consentire alla CLI di Tanzu di connettersi a vSphere dalla macchina in cui viene eseguita, è necessario fornire la parte della chiave pubblica di una coppia di chiavi SSH a Tanzu Kubernetes Grid quando si distribuisce il cluster di gestione. Se nella macchina in cui si esegue la CLI non ne è già presente uno, è possibile utilizzare uno strumento come ssh-keygen
per generare una coppia di chiavi.
Nella macchina in cui verrà eseguita la CLI di Tanzu, eseguire il comando ssh-keygen
seguente.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Al prompt Enter file in which to save the key (/root/.ssh/id_rsa):
premere Invio per accettare il file predefinito.
Aggiungere la chiave privata all'agente SSH in esecuzione nella macchina e immettere la password creata nel passaggio precedente.
ssh-add ~/.ssh/id_rsa
Aprire il file .ssh/id_rsa.pub
in un editor di testo in modo da poterlo copiare e incollare facilmente quando si distribuisce un cluster di gestione.
Se l'ambiente vSphere utilizza certificati autofirmati non attendibili per eseguire l'autenticazione delle connessioni, è necessario verificare l'identificazione personale di vCenter Server quando si distribuisce un cluster di gestione. Se l'ambiente vSphere utilizza certificati attendibili firmati da un'autorità di certificazione (CA) nota, non è necessario verificare l'identificazione personale.
È possibile utilizzare il visualizzatore dei certificati del browser Web per ottenere l'identificazione personale del certificato vSphere.
Accedere al visualizzatore dei certificati facendo clic sull'icona Sicura (Secure) (lucchetto) a sinistra dell'indirizzo Web nel campo URL.
I passaggi successivi dipendono dal browser utilizzato. Ad esempio, in Google Chrome selezionare Connessione sicura > Certificate valido per visualizzare i dettagli del certificato, inclusa l'identificazione personale.
Prendere nota del valore di Impronta digitale SHA-1 (SHA-1 Fingerprint) nel browser. Se contiene spazi tra ciascuna coppia esadecimale, sostituire ogni spazio con un carattere :
, ad esempio 6D:4A:DC:6C:C4:43:73:BB:DF:9A:32:68:67:56:F9:96:02:08:64:F4
.
È possibile utilizzare la stringa dell'identificazione personale copiata per verificarla quando si distribuisce un cluster di gestione dall'interfaccia del programma di installazione, oppure specificarla nell'opzione VSPHERE_TLS_THUMBPRINT
quando si distribuiscono cluster da un file di configurazione.
Per distribuire un cluster di gestione che supporti IPv6 in un ambiente di rete IPv6:
Configurare Linux in modo che accetti gli annunci del router per garantire che la route IPv6 predefinita non venga rimossa dalla tabella di routing all'avvio del servizio Docker. Per ulteriori informazioni, vedere Docker CE elimina la route predefinita IPv6. sudo sysctl net.ipv6.conf.eth0.accept_ra=2
Creare una regola di mascheramento per il cluster di bootstrap per inviare il traffico in uscita dal cluster di bootstrap: sudo ip6tables -t nat -A POSTROUTING -s fc00:f853:ccd:e793::/64 ! -o docker0 -j MASQUERADE
Per ulteriori informazioni sulle regole di mascheramento, vedere MASCHERAMENTO.
Distribuire il cluster di gestione eseguendo tanzu mc create
come indicato in Distribuzione di cluster di gestione da un file di configurazione.
TKG_IP_FAMILY
e altre variabili come descritto in Configurazione per IPv6.Per distribuire una gestione autonoma e i cluster del carico di lavoro da eseguire in più zone di disponibilità (ZD) in vSphere, è necessario:
Creare o identificare uno dei seguenti set di oggetti in vSphere:
Contrassegnare gli oggetti per associarli a una regione e alle relative ZD in Kubernetes, come descritto in Preparazione delle regioni e delle ZD in vSphere.
Per le distribuzioni di produzione, è consigliabile abilitare la gestione delle identità per i cluster:
Se si utilizza Tanzu Kubernetes Grid in un ambiente con una connessione Internet esterna, dopo aver configurato la gestione delle identità, è possibile distribuire cluster di gestione in vSphere.