Questo argomento spiega come utilizzare un file di configurazione piatto o una specifica di oggetto di tipo Kubernetes per configurare un cluster di carichi di lavoro Tanzu Kubernetes Grid (TKG) prima di distribuirlo su vSphere 8 con Tanzu. Per configurare un cluster del carico di lavoro per la distribuzione in vSphere con un cluster di gestione autonomo, vedere File di configurazione per vSphere con cluster di gestione autonomo.
Per informazioni generali su come configurare i cluster del carico di lavoro utilizzando i file di configurazione e le specifiche degli oggetti, vedere File di configurazione e specifiche degli oggetti.
Per utilizzare le funzionalità del cluster di carichi di lavoro specifiche di vSphere che richiedono una configurazione al di fuori del file di configurazione del cluster o delle specifiche degli oggetti, vedere Clusters su vSphere.
Per configurare un cluster del carico di lavoro prima di distribuirlo in vSphere with Tanzu, creare un file di specifica di oggetto di tipo Kubernetes se si sta configurando un cluster basato sulla classe o un file di configurazione del cluster se si sta configurando un cluster TKC. Quando si passa uno di questi file all'opzione -f
di tanzu cluster create
, la CLI di Tanzu utilizza le informazioni di configurazione definite nel file per connettersi all'account vSphere e creare le risorse che il cluster utilizzerà.
Per configurare:
Per informazioni sui tipi di cluster precedenti, vedere Tipi di cluster del carico di lavoro.
Per configurare un cluster del carico di lavoro per la distribuzione in vSphere 8 with Tanzu:
Creare o adattare una specifica di oggetto Cluster
. La documentazione di vSphere 8 include specifiche dell'oggetto Cluster
di esempio da utilizzare a questo scopo:
Impostare i tipi di macchina virtuale, le dimensioni e altre configurazioni di base del cluster nel blocco topology
del file della specifica. Per informazioni sul blocco topology
, vedere Oggetto cluster basato sulla classe e struttura della topologia e Variabili della topologia della classe del cluster, di seguito.
(Facoltativo) Per personalizzare gli attributi che non possono essere impostati nell'oggetto Cluster
Cluster stesso, ad esempio le impostazioni una tantum dell'interfaccia del container nell'infrastruttura del cluster, vedere Configurazione delle impostazioni una tantum dell'infrastruttura.
Le impostazioni di primo livello configurabili in un oggetto Cluster
con tipo tanzukubernetescluster
sono le seguenti. Vedere Variabili della topologia della classe del cluster per informazioni sugli elementi variables
che è possibile configurare:
spec:
clusterNetwork
apiServerPort
services
cidrBlocks
pods
cidrBlocks
serviceDomain
controlPlaneEndpoint
host
port
topology
class
version
rolloutAfter
controlPlane
metadata
replicas
nodeDrainTimeout
nodeDeletionTimeout
machineHealthCheck
maxUnhealthy
nodeStartupTimeout
unhealthyConditions
workers
machineDeployments
metadata
- class
name
failureDomain
replicas
nodeDrainTimeout
nodeDeletionTimeout
machineHealthCheck
maxUnhealthy
nodeStartupTimeout
unhealthyConditions
variables
name
value
variables
name
value
Questi campi sono impostati nella specifica del tipo di oggetto Cluster
: cluster_types.go.
json:
indica se il campo è facoltativo. I campi facoltativi hanno l'impostazione omitempty
.Topology
contiene *Workers
nella specifica del tipo, l'elemento workers
è rientrato sotto topology
nella specifica dell'oggetto.Le opzioni - class
e variables
sono definite nella classe del cluster dell'oggetto Cluster
, impostata come valore spec.topology.class
del cluster. Ad esempio, in vSphere with Tanzu questo è un oggetto ClusterClass
denominato tanzukubernetescluster
, che è diverso da un oggetto TanzuKubernetesCluster
, come indicato in Tipi di cluster del carico di lavoro
Le variables
configurabili includono vmClass
, storageClass
, proxy
, nodeLabels
, extensionCert
e molte altre, come elencato di seguito in Variabili della topologia della classe del cluster. Queste variabili configurano e sostituiscono le impostazioni negli oggetti sottostanti all'oggetto cluster, ad esempio gli oggetti KubeAdmConfig
e Machine
.
La classe del cluster tanzukubernetescluster
, ovvero la ClusterClass
predefinita nei cluster del carico di lavoro di vSphere with Tanzu, supporta le variabili seguenti impostate in topology.variables
e topology.workers.machineDeployments.variables
. Le impostazioni delle variabili specifiche delle distribuzioni delle macchine, come i pool di nodi, sostituiscono le impostazioni globali.
Queste variabili configurano e sostituiscono le impostazioni negli oggetti sottostanti all'oggetto cluster, ad esempio vmClass
, storageClass
e proxy
impostate negli oggetti KubeAdmConfig
e Machine
. In questo modo gli utenti possono configurare completamente un cluster nella specifica dell'oggetto Cluster
senza dover modificare le specifiche degli oggetti di livello inferiore:
clusterEncryptionConfigYaml
controlPlaneVolumes
defaultRegistrySecret
defaultStorageClass
extensionCert
nodePoolLabels
nodePoolTaints
nodePoolVolumes
ntp
proxy
storageClass
storageClasses
TKR_DATA
trust
user
vmClass
I seguenti argomenti della documentazione di vSphere 8 descrivono come riconfigurare un cluster in esecuzione modificando le impostazioni storageClass
e vmClass
:
Per creare un file di configurazione del cluster per un cluster del carico di lavoro TKC (legacy) in vSphere 8, è possibile copiare in vSphere with Tanzu un file di configurazione esistente per una distribuzione precedente e aggiornarlo. In alternativa, è possibile creare un file da zero utilizzando un modello vuoto.
Per configurare un cluster del carico di lavoro distribuito da un supervisore di vSphere with Tanzu, impostare variabili per definire le classi di storage, le classi di macchine virtuali, il dominio del servizio, lo spazio dei nomi e altri valori necessari per creare il cluster. Nella tabella seguente sono elencate le variabili che è possibile includere nel file di configurazione per un cluster basato su TKC. In alternativa, è possibile impostarle come variabili di ambiente locali.
Variabili obbligatorie | ||
---|---|---|
Variabile | Tipo di valore o esempio | Descrizione |
INFRASTRUCTURE_PROVIDER |
tkg-service-vsphere |
Sempre tkg-service-vsphere per gli oggetti TanzuKubernetesCluster in vSphere with Tanzu. |
CLUSTER_PLAN |
dev , prod o un piano personalizzato |
Imposta i conteggi dei nodi. |
CLUSTER_CIDR |
Intervallo CIDR | Intervallo CIDR da utilizzare per i pod. L'intervallo consigliato è 100.96.0.0/11 . Modificare questo valore solo se l'intervallo consigliato non è disponibile. |
SERVICE_CIDR |
Intervallo CIDR da utilizzare per i servizi Kubernetes. L'intervallo consigliato è 100.64.0.0/13 . Modificare questo valore solo se l'intervallo consigliato non è disponibile. |
|
SERVICE_DOMAIN |
Dominio | Ad esempio, my.example.com o cluster.local se non si utilizza DNS. Se si intende assegnare nomi di dominio completi con i nodi, è necessaria la ricerca DNS. |
CONTROL_PLANE_VM_CLASS |
Classe di macchina virtuale standard per vSphere with Tanzu, ad esempio guaranteed-large .Vedere Utilizzo di classi di macchine virtuali con i cluster TKG nel supervisore nella documentazione di vSphere with Tanzu. |
Classe di macchina virtuale per i nodi del piano di controllo |
WORKER_VM_CLASS |
Classe di macchina virtuale per i nodi worker | |
Variabili facoltative | ||
Variabile | Tipo di valore o esempio | Descrizione |
CLUSTER_NAME |
Stringa | Sostituita dall'argomento CLUSTER-NAME passato a tanzu cluster create .Questo nome deve essere conforme ai requisiti del nome host DNS in base alla RFC 952 e alla modifica indicata nella RFC 1123 e può contenere al massimo 42 caratteri. Note: è necessario specificare un nome univoco per tutti i cluster del carico di lavoro in tutti gli spazi dei nomi. Se si specifica un nome di cluster in uso in un altro spazio dei nomi, la distribuzione del cluster non riesce perché si verifica un errore. |
NAMESPACE |
Spazio dei nomi; l'impostazione predefinita è default . |
Spazio dei nomi in cui distribuire il cluster. Per individuare lo spazio dei nomi del supervisore, eseguire kubectl get namespaces . |
CNI |
antrea o calico . L'impostazione predefinita è antrea |
Container Network Interface per i carichi di lavoro ospitati, ovvero Antrea o Calico. |
CONTROL_PLANE_MACHINE_COUNT |
Numero intero. CONTROL_PLANE_MACHINE_COUNT deve essere un numero dispari.L'impostazione predefinita è 1 per dev e 3 per prod , come impostato da CLUSTER_PLAN . |
Distribuire un cluster del carico di lavoro con più nodi del piano di controllo rispetto al valore predefinito di dev o prod . |
WORKER_MACHINE_COUNT |
Distribuire un cluster del carico di lavoro con più nodi worker rispetto al valore predefinito dev o prod . |
|
STORAGE_CLASSES |
La stringa vuota "" consente ai cluster di utilizzare qualsiasi classe di storage nello spazio dei nomi o un elenco di valori separati da virgola di kubectl get storageclasses , ad esempio "SC-1,SC-2,SC-3" . |
Classi di storage disponibili per la personalizzazione dei nodi. |
DEFAULT_STORAGE_CLASS |
Stringa vuota "" se non è presente alcun valore predefinito o valore proveniente dalla CLI come indicato sopra. |
Classe di storage predefinita per il piano di controllo o i worker. |
CONTROL_PLANE_STORAGE_CLASS |
Valore restituito da kubectl get storageclasses |
Classe di storage predefinita per i nodi del piano di controllo. |
WORKER_STORAGE_CLASS |
Classe di storage predefinita per i nodi worker. | |
NODE_POOL_0_NAME |
Stringa | Nome, etichette e taint del pool di nodi. Un TanzuKubernetesCluster può avere un solo pool di nodi. |
NODE_POOL_0_LABELS |
Elenco di stringhe JSON, ad esempio ["label1", "label2"] |
|
NODE_POOL_0_TAINTS |
Elenco di stringhe di coppie chiave-valore JSON, ad esempio, [{"key1": "value1"}, {"key2": "value2"}] |
È possibile impostare le variabili precedenti eseguendo una delle seguenti opzioni:
Includerle nel file di configurazione del cluster passato all'opzione --file
della CLI di Tanzu. Ad esempio:
CONTROL_PLANE_VM_CLASS: guaranteed-large
Nella riga di comando, impostarle come variabili di ambiente locali eseguendo export
(in Linux e macOS) o SET
(in Windows). Ad esempio:
export CONTROL_PLANE_VM_CLASS=guaranteed-large
Notase si desidera configurare impostazioni del proxy univoche per un cluster del carico di lavoro, è possibile impostare
TKG_HTTP_PROXY
,TKG_HTTPS_PROXY
eNO_PROXY
come variabili di ambiente e quindi utilizzare la CLI di Tanzu per creare il cluster. Queste variabili hanno la precedenza sulla configurazione del proxy esistente in vSphere with Tanzu.
Passare a Creazione di cluster del carico di lavoro. Dopo aver distribuito un cluster del carico di lavoro in vSphere, è necessario configurare le prenotazioni DHCP dei relativi nodi e il DNS dell'endpoint come descritto in Configurazione delle prenotazioni DHCP dei nodi e del record DNS dell'endpoint (solo vSphere).