Questa pagina descrive i campi del file di configurazione del cluster di amministrazione per GKE su VMware.
Generazione di un modello per il file di configurazione
Se hai utilizzato gkeadm
per creare la workstation di amministrazione, gkeadm
ha generato un modello per il file di configurazione del cluster di amministrazione. Inoltre, gkeadm
ha compilato
alcuni dei campi per te.
Se non hai utilizzato gkeadm
per creare la workstation di amministrazione, puoi utilizzare gkectl
per generare un modello per il file di configurazione del cluster di amministrazione.
Per generare un modello per il file di configurazione del cluster di amministrazione:
gkectl create-config admin --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION
Sostituisci OUTPUT_FILENAME
con un percorso a tua scelta per il modello generato. Se ometti questo flag, gkectl
assegna al file il nome admin-cluster.yaml
e lo inserisce nella directory attuale.
Sostituisci VERSION
con il numero di versione desiderato, che deve essere uguale o inferiore a quello della versione di gkectl
. Ad esempio: gkectl create-config admin --gke-on-prem-version=1.6.2-gke.0
. Se ometti questo flag, il modello di configurazione generato viene completato con valori basati sull'ultima versione del cluster.
Modello
Compilazione del file di configurazione
Nel file di configurazione, inserisci i valori dei campi come descritto nelle sezioni seguenti.
name
Facoltativo
Stringa
Predefinito: nome casuale con prefisso "gke-admin-"
Un nome a tua scelta per il cluster.
Esempio:
name: "my-admin-cluster"
bundlePath
Obbligatorio
Modificabile
Stringa
Il percorso del file del bundle GKE su VMware.
Il file completo del bundle GKE su VMware contiene tutti i componenti di una determinata release di GKE su VMware. Quando crei una workstation di amministrazione, questa viene fornita con un bundle completo in:
/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz
Esempio:
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.10.0-gke.8.full.tgz"
vCenter
Obbligatorio
Immutabile
Questa sezione contiene informazioni sul tuo ambiente vSphere e sulla tua connessione a vCenter Server.
vCenter.address
Obbligatorio
Immutabile
Stringa
L'indirizzo IP o il nome host del tuo server vCenter.
Per maggiori informazioni, consulta Trovare l'indirizzo del server vCenter.
Esempi:
vCenter: address: "203.0.113.100"
vCenter: address: "my-vcenter-server.my-domain.example"
vCenter.datacenter
Obbligatorio
Immutabile
Stringa
Il percorso relativo di un data center vSphere.
Il valore specificato è relativo alla cartella principale denominata /
.
Se il data center si trova nella cartella principale, il valore è il nome del data center.
Esempio:
vCenter: datacenter: "my-data-center"
Altrimenti, il valore è un percorso relativo che include una o più cartelle insieme al nome del data center.
Esempio:
vCenter: datacenter: "data-centers/data-center-1"
vCenter.cluster
Obbligatorio
Immutabile
Stringa
Il percorso relativo di un cluster vSphere che rappresenta gli host ESXi su cui verranno eseguite le VM del cluster di amministrazione. Questo cluster vSphere rappresenta un sottoinsieme degli host ESXi fisici nel tuo data center vCenter.
Il valore specificato è relativo a /.../DATA_CENTER/vm/
.
Se il cluster vSphere si trova nella cartella /.../DATA_CENTER/vm/
, il valore è il nome del cluster vSphere.
Esempio:
vCenter: cluster: "my-vsphere-cluster"
In caso contrario, il valore è un percorso relativo che include una o più cartelle insieme al nome del cluster vSphere.
Esempio:
vCenter: cluster: "clusters/vsphere-cluster-1"
vCenter.resourcePool
Obbligatorio
Immutabile
Stringa
Un pool di risorse vCenter per le VM del cluster di amministrazione.
Se vuoi utilizzare il pool di risorse predefinito, impostalo su VSPHERE_CLUSTER/Resources
.
Esempio:
vCenter: resourcePool: "my-vsphere-cluster/Resources"
Se vuoi utilizzare un pool di risorse che hai già creato, impostalo sul percorso relativo del pool di risorse.
Il valore specificato è relativo a /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
Se il tuo pool di risorse è un elemento figlio diretto di
/.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
,
il valore è il nome del pool di risorse.
Esempio:
vCenter: resourcePool: "my-resource-pool"
Se il tuo pool di risorse è nidificato sotto un altro pool di risorse, impostalo sul percorso completo del pool di risorse.
Esempio:
vCenter: resourcePool: "my-vsphere-cluster/Resources/parent-resource-pool/child-resource-pool"
vCenter.datastore
Obbligatorio
Immutabile
Stringa
Il nome di un datastore vSphere per il cluster di amministrazione.
Il valore specificato deve essere un nome, non un percorso. Non includere cartelle nel valore.
Esempio:
vCenter: datastore: "my-datastore"
vCenter.caCertPath
Obbligatorio
Modificabile
Stringa
Il percorso del certificato CA per il server vCenter.
Per maggiori informazioni, consulta Recupero del certificato CA vCenter.
Per informazioni sull'aggiornamento di questo campo per un cluster esistente, consulta Aggiornare i riferimenti dei certificati vCenter.
Esempio:
vCenter: caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"
vCenter.credentials.fileRef.path
Obbligatorio
Stringa
Il percorso di un file di configurazione delle credenziali che contiene il nome utente e la password del tuo account utente vCenter. L'account utente deve disporre del ruolo Amministratore o di privilegi equivalenti. Consulta i requisiti di vSphere.
Puoi utilizzare gkectl update
per aggiornare questo campo in un cluster esistente.
Per informazioni su come aggiornare le credenziali vCenter, consulta Aggiornare le credenziali del cluster.
Esempio:
vCenter: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
vCenter.credentials.fileRef.entry
Obbligatorio
Stringa
Il nome del blocco delle credenziali, nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account utente vCenter.
Puoi utilizzare gkectl update
per aggiornare questo campo in un cluster esistente.
Per informazioni su come aggiornare le credenziali vCenter, consulta Aggiornare le credenziali del cluster.
Esempio:
vCenter: credentials: fileRef: entry: "vcenter-creds"
vCenter.folder
Facoltativo
Immutabile
Stringa
Predefinito: cartella a livello di data center
Il percorso relativo di una cartella vSphere che hai già creato. Questa cartella conterrà le VM del cluster di amministrazione.
Se non specifichi un valore, le VM del cluster di amministrazione verranno inserite in /.../DATA_CENTER/vm/
.
Se specifichi un valore, è relativo a /.../DATA_CENTER/vm/
.
Il valore può essere il nome di una cartella.
Esempio:
vCenter: folder: "my-folder"
Se la tua cartella vm è nidificata in un'altra cartella vm, impostala sul percorso completo della cartella vm.
Esempio:
vCenter: folder: "/my-datacenter/vm/vm-folder/nested-vm-folder"
Tieni presente che devi includere il primo carattere "/" nel percorso completo della cartella VM.
vCenter.dataDisk
Obbligatorio
Immutabile
Stringa
GKE su VMware crea un disco di macchina virtuale (VMDK) per contenere i dati degli oggetti Kubernetes. Il programma di installazione crea automaticamente il VMDK, ma devi fornire un percorso relativo per quest'ultimo nel campo vCenter.dataDisk
.
Il valore specificato è relativo a /.../DATA_CENTER/datastore/
.
Se vuoi che il VMDK si trovi nella cartella /.../DATA_CENTER/datastore/
, il valore è il nome del VMDK.
Se imposti adminMaster.replicas
su 3
, NON devi impostare questo campo. Per il cluster di amministrazione ad alta disponibilità, i percorsi dei dischi dati per le tre macchine del piano di controllo di amministrazione verranno generati automaticamente in /anthos/ADMIN_CLUSTER/default/
.
Esempio:
vCenter: dataDisk: "my-disk.vmdk"
In caso contrario, il valore è un percorso relativo che include una o più cartelle insieme al nome VMDK.
Esempio:
vCenter: dataDisk: "data-disks/data-disk-1.vmdk"
Se utilizzi un datastore vSAN, il VMDK deve trovarsi in una cartella già creata.
Puoi utilizzare govc
per creare una cartella:
govc datastore.mkdir -namespace=true data-disks
network
Obbligatorio
Immutabile
Questa sezione contiene le informazioni sulla rete del cluster di amministrazione.
network.hostConfig
Immutabile
Questa sezione è obbligatoria se si verificano una o più delle seguenti condizioni:
- Il campo
network.ipMode.type
è impostato su"static"
- Il campo
loadBalancer.kind
è impostato su"Seesaw"
- Il campo
adminMaster.replicas
è impostato su3
Questa sezione contiene informazioni su server NTP, server DNS e domini di ricerca DNS utilizzati dalle VM corrispondenti ai nodi del cluster. Se utilizzi il bilanciatore del carico di Seesaw, queste informazioni si applicano anche alle tue VM di Seesaw.
network.hostConfig.dnsServers
Obbligatorio se la sezione network.hostConfig
è compilata.
Immutabile
Array di stringhe.
Il numero massimo di elementi nell'array è tre.
Gli indirizzi dei server DNS delle VM.
Esempio:
network: hostConfig: dnsServers: - "172.16.255.1" - "172.16.255.2"
network.hostConfig.ntpServers
Obbligatorio se la sezione network.hostConfig
è compilata.
Immutabile
Array di stringhe
Gli indirizzi dei server temporali che le VM devono utilizzare.
Esempio:
network: hostConfig: ntpServers: - "216.239.35.0"
network.hostConfig.searchDomainsForDNS
Facoltativo
Immutabile
Array di stringhe
i domini di ricerca DNS da utilizzare per le VM. Questi domini vengono utilizzati come parte di un elenco di ricerca di domini.
Esempio:
network: hostConfig: searchDomainsForDNS: - "my.local.com"
network.ipMode.type
Obbligatorio
Immutabile
Stringa
Precompilato: "dhcp"
Predefinito: "dhcp"
Se vuoi che i nodi del cluster ricevano l'indirizzo IP da un server DHCP, imposta questo valore su "dhcp"
. Se vuoi che i nodi del cluster abbiano indirizzi IP statici scelti da un elenco fornito da te, imposta questo valore su "static"
.
Esempio:
network: ipMode: type: "static"
network.ipMode.ipBlockFilePath
Obbligatorio se network.ipMode.type
= static
Immutabile
Stringa
Il percorso del file di blocchi IP per il cluster.
Esempio:
network: ipMode: ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"
network.serviceCIDR
Obbligatorio
Immutabile
Stringa
Intervallo minimo possibile: /24
Intervallo massimo possibile: /12
Precompilato: "10.96.232.0/24"
Predefinito: "10.96.232.0/24"
Un intervallo di indirizzi IP, in formato CIDR, da utilizzare per i servizi nel cluster.
Esempio:
network: serviceCIDR: "10.96.232.0/24"
network.podCIDR
Obbligatorio
Immutabile
Stringa
Intervallo minimo possibile: /18
Intervallo massimo possibile: /8
Precompilato: "192.168.0.0/16"
Predefinito: "192.168.0.0/16"
Un intervallo di indirizzi IP, in formato CIDR, da utilizzare per i pod nel cluster.
Esempio:
network: podCIDR: "192.168.0.0/16"
L'intervallo di Service non deve sovrapporsi all'intervallo di pod.
Gli intervalli di servizi e pod non devono sovrapporsi ad alcun indirizzo esterno al cluster che vuoi raggiungere dall'interno del cluster.
Ad esempio, supponiamo che l'intervallo di servizi sia 10.96.232.0/24 e l'intervallo di pod sia 192.168.0.0/16. Tutto il traffico inviato da un pod a un indirizzo in uno di questi intervalli verrà trattato come in-cluster e non raggiungerà alcuna destinazione al di fuori del cluster.
In particolare, gli intervalli di servizi e pod non devono sovrapporsi a:
Indirizzi IP dei nodi in qualsiasi cluster
Indirizzi IP utilizzati dalle macchine del bilanciatore del carico
VIP utilizzati dai nodi del piano di controllo e dai bilanciatori del carico
Indirizzo IP di server vCenter, server DNS e server NTP
Ti consigliamo di utilizzare gli intervalli di servizi e pod nello spazio di indirizzi RFC 1918.
Ecco uno dei motivi per cui si consiglia di utilizzare indirizzi RFC 1918. Supponiamo che il tuo intervallo di pod o servizi contenga indirizzi IP esterni. Tutto il traffico inviato da un pod a uno di questi indirizzi esterni verrà trattato come traffico nel cluster e non raggiungerà la destinazione esterna.
network.vCenter.networkName
Obbligatorio
Immutabile
Stringa
Il nome della rete vSphere per i nodi del cluster.
Esempio:
network: vCenter: networkName: "my-network"
Se il nome contiene un carattere speciale, devi utilizzare una sequenza di escape.
Caratteri speciali | Sequenza di escape |
---|---|
Barra (/ ) |
%2f |
Barra rovesciata (\ ) |
%5c |
Segno di percentuale (% ) |
%25 |
Se il nome della rete non è univoco nel tuo data center, puoi specificare un percorso completo.
Esempio:
network: vCenter: networkName: "/data-centers/data-center-1/network/my-network"
network.controlPlaneIPBlock
Anteprima
Se vuoi creare un cluster di amministrazione ad alta disponibilità, compila questa sezione. In caso contrario, rimuovi questa sezione o escludila.
Un cluster di amministrazione ad alta disponibilità ha tre nodi che eseguono i componenti del piano di controllo.
Se compili questa sezione, devi anche impostare
adminMaster.replicas
su 3
.
network.controlPlaneIPBlock.netmask
Anteprima
Necessaria per un piano di controllo ad alta disponibilità
Immutabile
Stringa
La netmask per la rete con i nodi del piano di controllo.
Esempio:
network: controlPlaneIPBlock: netmask: "255.255.255.0"
network.controlPlaneIPBlock.gateway
Anteprima
Necessaria per un piano di controllo ad alta disponibilità
Immutabile
Stringa
L'indirizzo IP del gateway predefinito per i nodi del piano di controllo.
Esempio:
network: controlPlaneIPBlock: gateway: "172.16.22.1"
network.controlPlaneIPBlock.ips
Anteprima
Obbligatorio per un piano di controllo ad alta disponibilità
Immutabile
Array di tre oggetti, ognuno dei quali ha un indirizzo IP e un nome host facoltativo.
Questi sono gli indirizzi IP che verranno assegnati ai nodi del piano di controllo.
Esempio:
network: controlPlaneIPBlock: ips: - ip: "172.16.22.6" hostname: "admin-cp-vm-1" - ip: "172.16.22.7" hostname: "admin-cp-vm-2" - ip: "172.16.22.8" hostname: "admin-cp-vm-3"
loadBalancer
Questa sezione contiene informazioni sul bilanciatore del carico per il cluster di amministrazione.
loadBalancer.vips.controlPlaneVIP
Obbligatorio
Immutabile
Stringa
L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il server API Kubernetes del cluster di amministrazione.
Esempio:
loadBalancer: vips: controlplaneVIP: "203.0.113.3"
loadBalancer.vips.addonsVIP
Facoltativa
Immutabile
Stringa
L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per i componenti aggiuntivi di Prometheus e Grafana. I cluster utente utilizzano questo VIP per la comunicazione delle metriche con il cluster di amministrazione.
Esempio:
loadBalancer: vips: addonsVIP: "203.0.113.4"
loadBalancer.kind
Obbligatorio
Immutabile
Stringa
Precompilato: "MetalLB"
Stringa. Imposta questo elemento su "ManualLB"
, "F5BigIP"
, "Seesaw"
o "MetalLB"
Se imposti adminMaster.replicas
su 3
, non puoi utilizzare il bilanciatore del carico di Seesaw.
Esempio:
loadBalancer: kind: "MetalLB"
loadBalancer.manualLB
Se imposti loadbalancer.kind
su "ManualLB"
, compila questa sezione. In caso contrario, rimuovi questa sezione.
Immutabile
loadBalancer.manualLB.ingressHTTPNodePort
Rimuovi questo campo dal file di configurazione. Non viene utilizzato in un cluster di amministrazione.
loadBalancer.manualLB.ingressHTTPSNodePort
Rimuovi questo campo dal file di configurazione. Non viene utilizzato in un cluster di amministrazione.
loadBalancer.manualLB.konnectivityServerNodePort
Rimuovi questo campo dal file di configurazione. Non viene utilizzato in un cluster di amministrazione.
loadBalancer.manualLB.controlPlaneNodePort
Obbligatorio se loadBalancer.kind
= "ManualLB"
e adminMaster.replicas
= 1
Immutabile
Numero intero
Precompilato: 30968
Il server API Kubernetes nel cluster di amministrazione è esposto da un servizio Kubernetes. Devi scegliere un valore nodePort
per il servizio.
Imposta questo campo sul valore nodePort
.
Ad esempio:
loadBalancer: manualLB: controlPlaneNodePort: 30968
loadBalancer.manualLB.addonsNodePort
Obbligatorio se loadBalancer.kind
= "ManualLB"
Non modificabile
Numero intero
Precompilato: 31405
Il server dei componenti aggiuntivi nel cluster di amministrazione è esposto da un servizio Kubernetes.
Devi scegliere un valore nodePort
per il servizio.
Imposta questo campo sul valore nodePort
.
Esempio:
loadBalancer: manualLB: addonsNodePort: 31405
loadBalancer.f5BigIP
Se imposti loadbalancer.kind
su "f5BigIP"
, compila questa sezione. In caso contrario, rimuovi questa sezione.
loadBalancer.f5BigIP.address
Obbligatorio se loadBalancer.kind
= "f5BigIp"
Immutabile
Stringa
L'indirizzo del bilanciatore del carico BIG-IP di F5. Ad esempio:
loadBalancer: f5BigIP: address: "203.0.113.2"
loadBalancer.f5BigIP.credentials.fileRef.path
Obbligatorio se loadBalancer.kind
= "f5BigIp"
Modificabile
Stringa
Il percorso di un file di configurazione delle credenziali contenente il nome utente e la password di un account che GKE su VMware può utilizzare per connettersi al bilanciatore del carico BIG-IP di F5.
L'account utente deve avere un ruolo utente con autorizzazioni sufficienti per configurare e gestire il bilanciatore del carico. È sufficiente il ruolo Amministratore o Amministratore risorse.
Puoi utilizzare gkectl update
per aggiornare questo campo in un cluster esistente.
Per informazioni su come aggiornare le credenziali BIG-IP di F5, consulta Aggiornamento delle credenziali del cluster.
Esempio:
loadBalancer: f5BigIP: credentials: fileRef: path: ""my-config-folder/admin-creds.yaml"
loadBalancer.f5BigIP.credentialsfileRef.entry
Obbligatorio se loadBalancer.kind
= "f5BigIp"
Modificabile
Stringa
Il nome del blocco delle credenziali, nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account BIG-IP di F5.
Puoi utilizzare gkectl update
per aggiornare questo campo in un cluster esistente.
Per informazioni su come aggiornare le credenziali BIG-IP di F5, consulta Aggiornamento delle credenziali del cluster.
Esempio:
loadBalancer: f5BigIP: credentials: fileRef: entry: "f5-creds"
loadBalancer.f5BigIP.partition
Obbligatorio se loadBalancer.kind
= "f5BigIp"
Immutabile
Stringa
Il nome di una partizione BIG-IP che hai creato per il cluster di amministrazione.
Esempio:
loadBalancer: f5BigIP: partition: "my-f5-admin-partition"
loadBalancer.f5BigIP.snatPoolName
Facoltativo
Rilevante se loadBalancer.kind
= "f5BigIp"
Immutabile
Stringa
Se utilizzi SNAT, il nome del pool SNAT. Se non utilizzi SNAT, rimuovi questo campo.
Esempio:
loadBalancer: f5BigIP: snatPoolName: "my-snat-pool"
loadBalancer.seesaw
Se imposti loadbalancer.kind
su "Seesaw"
, compila questa sezione. In caso contrario, rimuovi questa sezione.
Immutabile
Per informazioni sulla configurazione del bilanciatore del carico Seesaw, consulta Bilanciamento del carico in bundle con Seesaw.
loadBalancer.seesaw.ipBlockFilePath
Obbligatorio se loadBalancer.kind
= "Seesaw"
Immutabile
Stringa
Il percorso del file di blocchi IP per le VM di Seesaw.
Esempio:
loadBalancer: seesaw: ipBlockFilePath: "config-folder/admin-seesaw-ipblock.yaml"
loadBalancer.seesaw.vrid
Obbligatorio se loadBalancer.kind
= "Seesaw"
Non modificabile
Numero intero
Valori possibili: 1 - 255
L'identificatore del router virtuale della VM Seesaw. Questo identificatore, che è un numero intero a tua scelta, deve essere univoco in una VLAN.
Esempio:
loadBalancer: seesaw: vrid: 125
loadBalancer.seesaw.masterIP
Obbligatorio se loadBalancer.kind
= "Seesaw"
Non modificabile
Numero intero
Stringa. L'indirizzo IP virtuale configurato sulla VM Seesaw master.
Esempio:
loadBalancer: seesaw: masterIP: 172.16.20.21
loadBalancer.seesaw.cpus
Obbligatorio se loadBalancer.kind
= "Seesaw"
Modificabile
Numero intero
Precompilato: 2
Predefinito:
Il numero di CPU per ciascuna delle tue VM di Seesaw.
Esempio:
loadBalancer: seesaw: cpus: 8
loadBalancer.seesaw.memoryMB
Obbligatorio se loadBalancer.kind
= "Seesaw"
Modificabile
Numero intero
Precompilato: 3072
Predefinito: 1024
Il numero di mebibyte di memoria per ciascuna delle tue VM Seesaw.
Esempio:
loadBalancer: seesaw: memoryMB: 8192
loadBalancer.seesaw.vCenter.networkName
Facoltativo
Rilevante se loadBalancer.kind
= "Seesaw"
Immutabile
Stringa
Il nome della rete vCenter che contiene le tue VM di Seesaw.
Esempio:
loadBalancer: seesaw: vCenter: networkName: "my-seesaw-network"
loadBalancer.seesaw.enableHA
Facoltativo
Rilevante se loadBalancer.kind
= "Seesaw"
Immutabile
Booleano
Precompilato: false
Predefinito: false
Se vuoi creare un bilanciatore del carico Seesaw ad alta disponibilità, imposta questo elemento su true
. In caso contrario, impostalo su false
. Un bilanciatore del carico Seesaw ad alta disponibilità utilizza una coppia(master, backup) di VM.
Esempio:
loadBalancer: seesaw: enableHA: true
loadBalancer.seesaw.disableVRRPMAC
Facoltativo
Rilevante se loadBalancer.kind
= "Seesaw"
Immutabile
Booleano
Prepopolatd: false
Predefinito: false
Se lo imposti su true
, il bilanciatore del carico di Seesaw non utilizza l'apprendimento MAC per il failover. Al contrario, utilizza un
ARP gratuito.
Se lo imposti su false
, il bilanciatore del carico di Seesaw utilizza l'apprendimento MAC. Ti
consigliamo di impostare questa opzione su true
. Se utilizzi vSphere 7 o versioni successive e hai un bilanciatore del carico di Seesaw ad alta disponibilità, devi impostarlo su true
.
Esempio:
loadBalancer: seesaw: disableVRRPMAC: true
antiAffinityGroups.enabled
Facoltativo
Modificabile
Booleano
Precompilato: true
Imposta questo valore su true
per attivare la creazione di regole DRS. In caso contrario, impostalo su
false
.
Esempio:
antiAffinityGroups: enabled: true
Se questo campo è true
, GKE su VMware crea regole di anti-affinità VMware
Distributed Resource Scheduler
(DRS) per i nodi del cluster di amministrazione, in modo che siano distribuite tra almeno tre host ESXi fisici nel data center.
Questa funzionalità richiede che il tuo ambiente vSphere soddisfi le seguenti condizioni:
VMware DRS è abilitato. VMware DRS richiede la versione di licenza vSphere Enterprise Plus.
Il tuo account utente vSphere ha il privilegio
Host.Inventory.Modify cluster
.Sono disponibili almeno quattro host ESXi.
Anche se la regola richiede che i nodi del cluster siano distribuiti tra tre host ESXi, consigliamo vivamente di disporre di almeno quattro host ESXi. In questo modo eviterai di perdere il piano di controllo del cluster di amministrazione. Ad esempio, supponiamo di avere solo tre host ESXi e che il nodo del piano di controllo del cluster di amministrazione si trovi su un host ESXi che presenta errori. La regola DRS impedisce che il nodo del piano di controllo venga posizionato su uno dei restanti due host ESXi.
Ricorda che se hai una licenza vSphere Standard, non puoi abilitare VMware DRS.
Se non hai DRS abilitato o se non hai almeno quattro host in cui
è possibile pianificare le VM vSphere, imposta antiAffinityGroups.enabled
su false
.
adminMaster
Anteprima
Facoltativo
Immutabile
Compila questa sezione se vuoi eseguire una delle seguenti operazioni:
- Specifica le CPU per i nodi del piano di controllo del cluster di amministrazione
- Specifica la memoria per i nodi del piano di controllo del cluster di amministrazione
- Anteprima: crea cluster di amministrazione ad alta disponibilità
In caso contrario, rimuovi questa sezione o escludila.
adminMaster.cpus
Anteprima
Facoltativo
Immutabile
Numero intero
Precompilato: 4
Predefinito: 4
Il numero di vCPU per ciascun nodo del piano di controllo nel cluster di amministrazione.
Esempio:
adminMaster: cpus: 4
adminMaster.memoryMB
Anteprima
Facoltativo
Immutabile
Numero intero
Precompilato: 16384
Predefinito: 16384
Il numero di mebibyte di memoria per ciascun nodo del piano di controllo nel cluster di amministrazione.
Esempio:
adminMaster: memoryMB: 16384
adminMaster.replicas
Anteprima
Facoltativo
Immutabile
Numero intero
Valori possibili: 1 o 3
Precompilato: 1
Predefinito: 1
Il numero di nodi del piano di controllo nel cluster di amministrazione. Imposta questo valore su 3
se vuoi creare un cluster di amministrazione ad alta disponibilità. Altrimenti, impostala su 1
.
Se lo imposti su 3
, devi compilare anche la sezione network.controlPlaneIPBlock
e la sezione network.hostConfig
.
Se lo imposti su 3
, non puoi utilizzare il bilanciatore del carico di Seesaw.
Esempio:
adminMaster: replicas: 3
addonNode.autoResize.enabled
Facoltativo
Modificabile
Booleano
Precompilato: false
Predefinito: false
Imposta questo valore su true
per abilitare il ridimensionamento automatico dei nodi dei componenti aggiuntivi nel cluster di amministrazione. Altre impostazioni l'hanno impostata su false
.
Per aggiornare il valore di questo campo, utilizza gkectl update admin
.
Esempio:
addonNode: autoResize: enabled: true
proxy
Se la tua rete è protetta da un server proxy, compila questa sezione. In caso contrario, rimuovi questa sezione o escludila.
Immutabile
proxy.url
Obbligatorio se la sezione proxy
è compilata.
Immutabile
Stringa
L'indirizzo HTTP del server proxy. Includi il numero di porta anche se è uguale a quella predefinita dello schema.
Esempio:
proxy: url: "http://my-proxy.example.local:80"
Il server proxy specificato qui è utilizzato dai tuoi cluster GKE su VMware. Inoltre, la workstation di amministrazione viene configurata automaticamente per utilizzare lo stesso server proxy, a meno che non imposti la variabile di ambiente HTTPS_PROXY
sulla workstation di amministrazione.
Se specifichi proxy.url
, devi specificare anche proxy.noProxy
.
Una volta impostata, la configurazione del proxy per il cluster di amministrazione non può essere modificata o eliminata, a meno che il cluster non venga ricreato.
proxy.noProxy
Facoltativa
Immutabile
Stringa
Un elenco separato da virgole di indirizzi IP, intervalli di indirizzi IP, nomi host e nomi di dominio che non devono passare attraverso il server proxy. Quando GKE su VMware invia una richiesta a uno di questi indirizzi, host o domini, la richiesta viene inviata direttamente.
Esempio:
proxy: noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"
privateRegistry
Se hai un Container Registry privato, compila questa sezione. In caso contrario, rimuovi questa sezione o escludila.
privateRegistry.address
Obbligatorio per il registro privato
Immutabile
Stringa
L'indirizzo IP o il nome di dominio completo (FQDN) della macchina che esegue il registro privato.
Esempi:
privateRegistry: address: "203.0.113.10"
privateRegistry: address: "fqdn.example.com"
privateRegistry.credentials.fileRef.path
Obbligatorio per il registro privato
Modificabile
Stringa
Il percorso di un file di configurazione delle credenziali contenente il nome utente e la password di un account che GKE su VMware può utilizzare per accedere al tuo registro privato.
Esempio:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
Obbligatorio per il registro privato
Modificabile
Stringa
Il nome del blocco delle credenziali, nel file di configurazione delle credenziali, che contiene il nome utente e la password dell'account del registro privato.
privateRegistry: credentials: fileRef: entry: "private-registry-creds"
privateRegistry.caCertPath
Obbligatorio per il registro privato
Modificabile
Stringa
Quando il runtime del container estrae un'immagine dal registro privato, il registro deve dimostrare la propria identità presentando un certificato. Il certificato del registro è firmato da un'autorità di certificazione (CA). Il runtime del container usa il certificato della CA per convalidare il certificato del registro.
Imposta questo campo sul percorso del certificato CA.
Esempio:
privateRegistry: caCertPath: "my-cert-folder/registry-ca.crt"
componentAccessServiceAccountKeyPath
Obbligatorio
Modificabile
Stringa
Il percorso del file di chiavi JSON per l'account di servizio di accesso ai componenti.
Esempio:
componentAccessServiceAccountKeyPath: "my-key-folder/access-key.json"
gkeConnect
Obbligatorio
Modificabile
Quando compili la sezione gkeConnect
, il cluster di amministrazione viene registrato automaticamente in un parco risorse dopo la creazione. Questa sezione contiene le informazioni sul progetto Google Cloud e sull'account di servizio necessari per registrare il cluster.
Durante la creazione o l'aggiornamento del cluster, nel cluster di amministrazione vengono configurati diversi criteri RBAC. Questi criteri RBAC sono necessari per creare cluster utente nella console Google Cloud.
gkeConnect.projectID
Obbligatorio
Immutabile
Stringa
L'ID del tuo progetto host del parco risorse.
Esempio:
gkeConnect: projectID: "my-fleet-host-project"
gkeConnect.registerServiceAccountKeyPath
Obbligatorio
Modificabile
Stringa
Il percorso del file di chiave JSON per il tuo account di servizioconnect-registra.
Esempio:
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
gkeOnPremAPI
Facoltativo
Disponibile nella versione 1.15.3 o successive.
Includi questa sezione se vuoi registrare il cluster di amministrazione nell'API GKE On-Prem.
La registrazione del cluster di amministrazione nell'API GKE On-Prem ti consente di utilizzare strumenti standard, la console Google Cloud, Google Cloud CLI o Terraform per eseguire l'upgrade dei cluster utente gestiti dal cluster di amministrazione. La registrazione del cluster consente anche di eseguire i comandi gcloud
per ricevere informazioni sui cluster.
L'API GKE On-Prem archivia i metadati dello stato del cluster in Google Cloud. che consentono all'API di gestire il ciclo di vita dei cluster utente. Gli strumenti standard utilizzano l'API GKE On-Prem e collettivamente sono definiti client API GKE On-Prem. Per informazioni sull'utilizzo degli strumenti standard per creare cluster utente, consulta Creare un cluster utente utilizzando i client API GKE On-Prem. Quando crei cluster utente utilizzando un client API GKE On-Prem, i cluster vengono registrati automaticamente nell'API GKE On-Prem.
Se imposti gkeOnPremAPI.enabled
su true
, prima di creare o aggiornare il cluster utilizzando gkectl
, assicurati di eseguire i passaggi descritti in Prima di iniziare per abilitare e inizializzare l'API GKE On-Prem.
Dopo aver aggiunto questa sezione e aver creato o aggiornato il cluster di amministrazione, se in seguito rimuovi la sezione e aggiorni il cluster, l'aggiornamento non andrà a buon fine.
gkeOnPremAPI.enabled
Obbligatorio se è inclusa la sezione gkeOnPremAPI
.
Modificabile
Booleano
Precompilato: true
Imposta su true
se vuoi registrare il cluster nell'API GKE On-Prem.
Dopo aver registrato il cluster nell'API GKE On-Prem, se devi annullarne la registrazione, apporta la modifica seguente e poi aggiorna il cluster:
gkeOnPremAPI: enabled: false
gkeOnPremAPI.location
Immutabile
Stringa
Precompilata: "us-central1"
La regione Google Cloud in cui l'API GKE On-Prem viene eseguita e archivia i metadati del cluster. Scegli una delle regioni supportate.
Ti consigliamo di utilizzare la stessa regione configurata in stackdriver.clusterLocation
. Deve essere una stringa non vuota se
gkeOnPremAPI.enabled
è true
. Se gkeOnPremAPI.enabled
è false
, non includere questo campo.
stackdriver
Obbligatorio per impostazione predefinita
Modificabile
Se vuoi abilitare Cloud Logging e Cloud Monitoring per il tuo cluster, compila questa sezione. In caso contrario, rimuovi questa sezione.
Questa sezione è obbligatoria per impostazione predefinita. In altre parole, se non includi questa sezione,
devi includere il flag --skip-validation-stackdriver
quando esegui
gkectl create admin
.
Questa sezione è obbligatoria nel cluster di amministrazione se vuoi gestire il ciclo di vita dei cluster utente nella console Google Cloud.
stackdriver.projectID
Richiesto per Logging e Monitoring
Stringa
immutabile
L'ID del tuo progetto host del parco risorse.
Esempio:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Obbligatorio per Logging e Monitoring
Immutabile
Stringa
Precompilato: "us-central1"
La regione Google Cloud in cui vuoi archiviare i log. È una buona idea scegliere un'area geografica vicina al tuo data center on-premise.
Esempio:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Facoltativo
Immutabile
Booleano
Precompilato: false
Se la rete del cluster è controllata da un VPC, imposta l'opzione su true
.
In questo modo tutti i dati di telemetria passano attraverso gli indirizzi IP limitati di Google.
In caso contrario, impostalo su false
.
Esempio:
stackdriver: enableVPC: false
stackdriver.serviceAccountKeyPath
Richiesti per Logging e Monitoring
Modificabile
Stringa
Il percorso del file di chiave JSON per l'account di servizio di logging-monitoring.
Per informazioni su come aggiornare questo campo in un cluster esistente, consulta Rotazione delle chiavi degli account di servizio.
Esempio:
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
stackdriver.disableVsphereResourceMetrics
Facoltativo
Modificabile
Pertinente per Logging e Monitoring
Booleano
Precompilato: false
Predefinito: false
Imposta questo elemento su true
per disattivare la raccolta di metriche da vSphere.
Altrimenti, impostala su false
.
Questa sezione è obbligatoria nel cluster di amministrazione se vuoi gestire il ciclo di vita dei cluster utente nella console Google Cloud.
Esempio:
stackdriver: disableVsphereResourceMetrics: true
cloudAuditLogging
Se vuoi integrare gli audit log del server API Kubernetes del cluster con Cloud Audit Logs, compila questa sezione. In caso contrario, rimuovi questa
sezione o escludila.
Modificabile
Questa sezione è obbligatoria nel cluster di amministrazione se vuoi gestire il ciclo di vita dei cluster utente nella console Google Cloud.
cloudAuditLogging.projectID
Obbligatorio per Cloud Audit Logs
Immutabile
Stringa
L'ID del progetto host del parco risorse.
Esempio:
cloudAuditLogging: projectID: "my-fleet-host-project"
cloudAuditLogging.clusterLocation
Obbligatorio per Cloud Audit Logs
Immutabile
Stringa
La regione Google Cloud in cui vuoi archiviare gli audit log. È una buona idea scegliere una regione vicina al tuo data center on-premise
Esempio:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
Obbligatorio per Cloud Audit Logs
Modificabile
Stringa
Il percorso del file di chiave JSON dell'account di servizio di audit logging.
Per informazioni su come aggiornare questo campo in un cluster esistente, consulta Rotazione delle chiavi degli account di servizio.
Esempio:
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
clusterBackup.datastore
Anteprima
Facoltativo
Modificabile
Stringa
Se vuoi abilitare il backup del cluster di amministrazione, impostalo sul datastore vSphere in cui vuoi salvare i backup del cluster.
Se imposti adminMaster.replicas
su 3
, non puoi attivare questa funzionalità.
Pertanto, non devi impostare un valore per questo campo.
Esempio:
clusterBackup: datastore: "my-datastore"
autoRepair.enabled
Facoltativo
Modificabile
Booleano
Precompilato: true
Impostalo su true
per abilitare la riparazione automatica dei nodi.
In caso contrario, impostalo su false
.
Per aggiornare il valore di questo campo, utilizza gkectl update admin
.
Esempio:
autoRepair: enabled: true
secretsEncryption
Se vuoi criptare i secret senza la necessità di un KMS (Key Management Service) esterno o di qualsiasi altra dipendenza, compila questa sezione.
In caso contrario, rimuovi questa sezione o escludila.
Immutabile
secretsEncryption.mode
Obbligatorio per la crittografia dei secret
Immutabile
Stringa
Valore possibile: "GeneratedKey"
Precompilato: "GeneratedKey"
La modalità di crittografia dei secret.
secretsEncryption: mode: "GeneratedKey"
secretsEncryption.generatedKey.keyVersion
Obbligatorio per la crittografia dei secret
Mutable
Numero intero
Precompilato: 1
Un numero intero a tua scelta da utilizzare per il numero di versione della chiave. Ti consigliamo di iniziare con 1
.
Esempio:
secretsEncryption: generatedKey: keyVersion: 1
secretsEncryption.generatedKey.disabled
Facoltativo per la crittografia dei secret
Mutable
Booleano
Precompilato: false
Imposta questo valore su true
per disattivare la crittografia dei secret. In caso contrario, impostala su false
.
Esempio:
secretsEncryption: generatedKey: disabled: false
osImageType
Facoltativo
Stringa
Valori possibili: "ubuntu_containerd" o "cos"
Precompilato: "ubuntu_containerd"
Predefinito: "ubuntu_containerd"
Il tipo di immagine del sistema operativo da eseguire sui nodi del cluster di amministrazione.
Esempio:
osImageType: "cos"