Questa pagina descrive i campi all'interno del file di configurazione del cluster utente di Google Distributed Cloud.
Generare 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 utente. E gkeadm
ha compilato
alcuni campi per te.
Se non hai utilizzato gkeadm
per creare la tua workstation di amministrazione, puoi utilizzare gkectl
per generare un modello per il file di configurazione del cluster utente.
Per generare un modello per il file di configurazione del cluster utente:
gkectl create-config cluster --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION
Sostituisci quanto segue:
OUTPUT_FILENAME
: un percorso a tua scelta per
il modello generato. Se ometti questo flag, gkectl
assegna il nome user-cluster.yaml
al file e lo inserisce nella directory attuale.
VERSION
: il numero di versione desiderato. Ad esempio:
gkectl create-config cluster --gke-on-prem-version=1.10.0-gke.8
.
Modello
Compilazione del file di configurazione in corso...
Nel file di configurazione, inserisci i valori dei campi come descritto nelle sezioni seguenti.
name
Stringa
obbligatoria
Un nome a tua scelta per il cluster utente. Il nome deve:
- Deve contenere al massimo 40 caratteri
- Contenere solo caratteri alfanumerici minuscoli o un trattino (
-
) - iniziano con un carattere alfabetico
- terminare con un carattere alfanumerico
Esempio:
name: "my-user-cluster"
gkeOnPremVersion
Stringa
Modificabile
Obbligatoria
La versione di Google Distributed Cloud per il tuo cluster utente.
Esempio:
gkeOnPremVersion: "1.14.0-gke.1"
preparedSecrets.namespace
Se vuoi utilizzare credenziali preparate, compila questo campo. In caso contrario, rimuovi questo campo o lascialo senza commenti.
Facoltativo
Immutabile
Stringa
Valori possibili: una stringa che inizia con "gke-onprem-secrets-"
Il nome di uno spazio dei nomi Kubernetes nel cluster di amministrazione in cui vengono conservati i secret preparati per questo cluster utente.
Esempio:
preparedSecrets: namespace: "gke-onprem-secrets-alice"
enableControlplaneV2
Facoltativo
Immutabile
Booleano
Precompilato: true
Predefinito: true
Se vuoi creare un cluster utente in cui è abilitato Controlplane V2, impostalo su true
. In caso contrario, impostala su false
.
Con Controlplane V2, il piano di controllo per un cluster utente viene eseguito su uno o più nodi nel cluster utente stesso. Ti consigliamo di abilitare il piano di controllo V2.
I vantaggi del piano di controllo V2 includono:
Coerenza dell'architettura tra cluster di amministrazione e utenti
Isolamento per errore. L'errore di un cluster di amministrazione non influisce sui cluster utente.
Separazione operativa. L'upgrade di un cluster di amministrazione non causa tempi di inattività per i cluster utente.
Separazione dei deployment. Puoi posizionare i cluster di amministrazione e utente in siti geografici o domini in errore diversi. Ad esempio, un cluster utente in una località perimetrale potrebbe trovarsi in un sito geografico diverso dal cluster di amministrazione.
Esempio:
enableControlplaneV2: true
vCenter
Questa sezione contiene informazioni sull'ambiente vSphere e sulla connessione a vCenter Server.
Se vuoi che un campo di questa sezione sia uguale a quello specificato per il cluster di amministrazione, rimuovi il campo o lascialo senza commenti.
Se vuoi che un campo sia diverso da quello specificato per il cluster di amministrazione, compilalo qui. Tutti i campi che compili qui nella sezione vCenter
sostituiscono i campi corrispondenti nel file di configurazione del cluster di amministrazione.
vCenter.address
Facoltativo
Immutabile
Stringa
Predefinito: eredita dal cluster di amministrazione
L'indirizzo IP o il nome host dell'istanza del server vCenter che vuoi utilizzare per questo cluster utente.
Per ulteriori informazioni, consulta Ricerca dell'indirizzo del server vCenter.
Se specifichi un valore diverso dall'istanza di vCenter Server
utilizzata dal cluster di amministrazione, è necessario abilitare Controlplane V2
e fornire i valori per network.vCenter.networkName
e tutti i campi obbligatori nella sezione vCenter
.
Esempi:
vCenter: address: "203.0.113.101"
vCenter: address: "my-vcenter-server-2.my-domain.example"
vCenter.datacenter
Facoltativo
Immutabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Il percorso relativo di un data center vSphere.
Se specifichi un valore per questo campo, devi specificare anche:
vCenter.networkName
vCenter.datastore
ovCenter.storagePolicyName
vCenter.cluster
ovCenter.resourcePool
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-uc-data-center"
In caso contrario, il valore è un percorso relativo che include una o più cartelle insieme al nome del data center.
Esempio:
vCenter: datacenter: "data-centers/data-center-2"
vCenter.cluster
Facoltativo
Immutabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Il percorso relativo di un cluster vSphere che rappresenta gli host ESXi su cui verranno eseguite le VM del cluster utente. Questo cluster vSphere rappresenta un sottoinsieme degli host ESXi fisici nel data center vCenter.
Se specifichi un valore per questo campo, devi specificare anche:
vCenter.networkName
vCenter.datacenter
vCenter.datastore
ovCenter.storagePolicyName
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-uc-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-2"
vCenter.resourcePool
Facoltativo
Immutabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Un pool di risorse vCenter per le VM del cluster utente.
Se vuoi utilizzare il pool di risorse predefinito, impostalo su VSPHERE_CLUSTER/Resources
.
Esempio:
vCenter: resourcePool: "my-uc-vsphere-cluster/Resources"
Il valore specificato è relativo a
/.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
Se il 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-uc-resource-pool"
In caso contrario, il valore è un percorso relativo con due o più pool di risorse.
Esempio:
vCenter: resourcePool: "uc-resource-pool-1/uc-resource-pool-2"
vCenter.datastore
Facoltativo
Immutabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Il nome di un datastore vSphere per il tuo cluster utente.
Il valore specificato deve essere un nome, non un percorso. Non includere cartelle nel valore.
Esempio:
vCenter: datastore: "my-uc-datastore"
Se specifichi un valore per questo campo, non specificare un valore per vCenter.storagePolicyName
.
vCenter.storagePolicyName
Stringa
facoltativa
Il nome di un criterio di archiviazione VM per i nodi del cluster.
Puoi anche specificare un criterio di archiviazione delle VM per i nodi in un determinato pool di nodi. Tuttavia, il criterio specificato qui si applica a qualsiasi pool di nodi che non ha un proprio criterio.
Per ulteriori informazioni, consulta Configurare un criterio di archiviazione.
Se specifichi un valore per questo campo, non specificare un valore per vCenter.datastore
.
vCenter.caCertPath
Facoltativo
Modificabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Il percorso del certificato CA per il server vCenter. Per ulteriori informazioni, vedi Ottenere il certificato CA vCenter.
Esempio:
vCenter: caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert-2.pem"
Per informazioni su come aggiornare questo campo, consulta Aggiornare i riferimenti dei certificati vCenter.
vCenter.credentials.fileRef.path
Facoltativo
Modificabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Se fornisci un valore per preparedSecrets.namespace, non specificare un valore per questo campo. Fornisci invece un valore per vCenter.credentials.secretRef.version.
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 avere il ruolo di amministratore o privilegi equivalenti. Consulta i requisiti di vSphere.
Puoi utilizzare gkectl update credentials
per aggiornare questo campo in un cluster
esistente. Per ulteriori informazioni, consulta la sezione Rotazione delle chiavi degli account di servizio.
Per informazioni sull'aggiornamento delle credenziali vCenter, consulta Aggiornamento delle credenziali del cluster.
Esempio:
vCenter: credentials: fileRef: path: "my-config-directory/my-credentials-2.yaml"
vCenter.credentials.fileRef.entry
Facoltativo
Modificabile
Stringa
Predefinito: eredita dal cluster di amministrazione
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.
Esempio:
vCenter: credentials: fileRef: entry: "vcenter-credentials-2"
vCenter.credentials.secretRef.version
Obbligatorio se hai fornito un valore per
preparedSecrets.namespace
String
Valori possibili: una stringa intera o "latest"
Valore predefinito: "più recente"
Se fornisci un valore per preparedSecrets.namespace, compila questo campo. In caso contrario, rimuovi questo campo o lascialo senza commenti.
La versione di un secret preparato nel cluster di amministrazione che contiene il nome utente e la password per l'istanza di vCenter Server che intendi utilizzare per questo cluster utente.
Esempio:
vCenter: credentials: secretRef: version: "1"
vCenter.folder
Facoltativo
Immutabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Il percorso relativo di una cartella vSphere che hai già creato. Questa cartella conterrà le VM del cluster utente.
Se non specifichi un valore, le VM del cluster utente verranno inserite in
/.../DATA_CENTER/vm/
.
Se specifichi un valore, questo è relativo a
/.../DATA_CENTER/vm/
.
Il valore può essere il nome di una cartella.
Esempio:
vCenter: folder: "my-uc-folder"
In alternativa, il valore può essere un percorso relativo che include più di una cartella.
Esempio:
vCenter: folder: "folders/folder-2"
componentAccessServiceAccountKeyPath
Facoltativo
Modificabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Il percorso del file della chiave JSON per l'account di servizio di accesso ai componenti.
Esempio:
componentAccessServiceAccountKeyPath: "my-key-folder/uc-access-key.json"
componentAccessServiceAccountKey.secretRef.version
Facoltativo
Modificabile
Stringa
Valori possibili: una stringa intera o "più recente"
Valore predefinito: "più recente"
La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per l'account di servizio di accesso ai componenti.
Esempio:
componentAccessServiceAccountKey: secretRef: version: "1"
privateRegistry
Compila questa sezione solo se il cluster di amministrazione utilizza un registro privato e vuoi che il cluster utente utilizzi un registro privato diverso. In caso contrario, rimuovi questa sezione o lascia senza commenti.
Se vuoi avere impostazioni diverse da quelle del cluster di amministrazione:
Nome utente, password e certificato diversi
(Disponibile solo per il piano di controllo V2) Indirizzo del registro privato diverso
Compila i campi privateRegistry
qui. Le nuove impostazioni vengono selezionate
durante la creazione e l'aggiornamento del cluster.
privateRegistry.address
Obbligatorio per il registro privato
Immutabile
Stringa
Predefinito: eredita dal cluster di amministrazione
L'indirizzo IP o il nome di dominio completo (FQDN) della macchina che esegue il tuo registro Docker privato.
Esempi:
privateRegistry: address: "203.0.113.10"
privateRegistry: address: "fqdn.example.com"
privateRegistry.credentials.fileRef.path
Obbligatorio per il registro privato
Meditabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Se prevedi di utilizzare il secret preparato per il registro privato, non fornire un valore per questo campo. Fornisci invece un valore per privateRegistry.credentials.secretRef.version.
Il percorso di un file di configurazione delle credenziali contenente il nome utente e la password di un account che Google Distributed Cloud può utilizzare per accedere al tuo registro Docker privato.
Esempio:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
Obbligatorio per il registro privato
Meditabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Il nome del blocco delle credenziali, nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account del Docker Registry privato.
privateRegistry: credentials: fileRef: entry: "private-registry-creds"
privateRegistry.credentials.secretRef.version
Obbligatorio se vuoi utilizzare il secret preparato per il registro privato
Stringa
Valori possibili: una stringa con numero intero o "il più recente"
Valore predefinito: "più recente"
Se fornisci un valore per preparedSecrets.namespace e vuoi utilizzare il secret preparato per il registro privato, compila questo campo. In caso contrario, rimuovi questo campo o lascialo senza commenti.
La versione di un secret preparato nel cluster di amministrazione che contiene il nome utente e la password per l'istanza di vCenter Server che intendi utilizzare per questo cluster utente.
Esempio:
privateRegistry: credentials: secretRef: version: "1"
privateRegistry.caCertPath
Obbligatorio per il registro privato
Meditabile
Stringa
Predefinito: eredita dal cluster di amministrazione
Quando Docker esegue il pull di un'immagine dal tuo registro privato, il registry deve dimostrare la sua identità presentando un certificato. Il certificato del registry è firmato da un'autorità di certificazione (CA). Docker usa il certificato della CA per convalidare il certificato.
Imposta questo campo sul percorso del certificato della CA.
Esempio:
privateRegistry: caCertPath: "my-cert-folder/registry-ca.crt"
network
Questa sezione contiene informazioni sulla rete del cluster utente.
network.hostConfig
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 VM di Seesaw.
Questa sezione è obbligatoria se una o più delle seguenti condizioni sono vere:
network.ipMode.type
impostata sustatic
enableControlplaneV2
è impostato sutrue
o può essere impostato sutrue
per impostazione predefinita.loadBalancer.kind
impostata su"Seesaw"
network.hostConfig.dnsServers
Obbligatorio
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
Immutabile
Array di stringhe
Gli indirizzi dei server di tempo 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 utilizzabili dagli host. 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: "statico"
Predefinito: "dhcp"
Se vuoi che i nodi del cluster ricevano l'indirizzo IP da un server DHCP, impostalo su "dhcp"
. Se vuoi che i nodi del cluster abbiano indirizzi IP statici scelti da un elenco da te fornito, impostalo su "static"
.
Esempio:
network: ipMode: type: "static"
network.ipMode.ipBlockFilePath
Obbligatorio se network.ipMode.type
= static
immutabile
Stringa
Il percorso del file dei blocchi IP per il tuo cluster.
Esempio:
network: ipMode: ipBlockFilePath: "/my-config-folder/user-cluster-ipblock.yaml"
network.serviceCIDR
Obbligatorio
Immutabile
Stringa
Precompilato: "10.96.0.0/20"
Un intervallo di indirizzi IP, in formato CIDR, da utilizzare per i servizi nel cluster. Deve essere un intervallo di almeno /24.
Esempio:
network: serviceCIDR: "10.96.0.0/20"
network.podCIDR
Obbligatorio
Immutabile
Stringa
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. Deve essere un intervallo di almeno /18.
Esempio:
network: podCIDR: "192.168.0.0/16"
L'intervallo di servizi 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à considerato nel cluster e non raggiungerà alcuna destinazione esterna al 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 dei bilanciatori 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 inserire 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 se vCenter.address
è diverso dall'indirizzo vCenter che utilizzi per il cluster di amministrazione.
Immutabile
Stringa
Il nome della rete vSphere per i nodi del cluster utente.
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 |
Simbolo di percentuale (% ) |
%25 |
Se il nome della rete non è univoco nel tuo data center, puoi specificare un percorso completo.
Esempio:
network: vCenter: networkName: "/my-uc-datacenter/network/my-network"
network.additionalNodeInterfaces
Se imposti multipleNetworkInterfaces
su true
, compila questa sezione.
In caso contrario, rimuovi questa sezione o abbandona i commenti.
Immutabile
Un array di oggetti, ognuno dei quali descrive un'interfaccia di rete che può essere utilizzata su tutti o alcuni dei nodi del cluster.
network.additionalNodeInterfaces[i].networkName
Obbligatorio se multipleNetworkInterfaces
= true
immutabile
Stringa
Il nome della rete vSphere a cui si connetterà questa interfaccia del nodo aggiuntiva.
Esempio:
network: additionalNodeInterfaces: - networkName: "my-node-interface-1"
network.additionalNodeInterfaces[i].type
Obbligatorio se multipleNetworkInterfaces
= true
immutabile
Stringa
Esempio:
network: additionalNodeInterfaces: - name: "my-node-interface-1" type: "static"
network.additionalNodeInterfaces[i].ipBlockFilePath
Obbligatorio se network.additionalNodeInterfaces[i].type
= static
immutabile
Stringa
Il percorso di un file dei blocchi IP contenente gli indirizzi IP da utilizzare per questa interfaccia di rete sui nodi che hanno questa interfaccia di rete.
Esempio:
network: additionalNodeInterfaces: - name: "my-node-interface-1" type: "static" ipBlockFilePath: "my-ipblock-file-1"
network.controlPlaneIPBlock
Se imposti enableControlplaneV2
su true
, compila questa sezione. In caso contrario, rimuovi questa sezione o abbandona i commenti.
network.controlPlaneIPBlock.netmask
Obbligatorio se enableControlplaneV2
= true
immutabile
Stringa
Esempio:
network: controlPlaneIPBlock: netmask: "255.255.255.0"
network.controlPlaneIPBlock.gateway
Obbligatorio se enableControlplaneV2
= true
immutabile
Stringa
Esempio:
network: controlPlaneIPBlock: gateway: "172.16.21.1"
network.controlPlaneIPBlock.ips
Obbligatorio se enableControlplaneV2
= true
Immutabile
Array di oggetti, ognuno dei quali ha un indirizzo IP e un nome host facoltativo.
Per un cluster utente ad alta disponibilità, l'array ha tre elementi. Per un cluster utente non ad alta disponibilità, l'array ha un elemento.
Esempio:
network: controlPlaneIPBlock: ips: - ip: "172.16.21.6" hostname: "cp-vm-1" - ip: "172.16.21.7" hostname: "cp-vm-2" - ip: "172.16.21.8" hostname: "cp-vm-3"
loadBalancer
Questa sezione contiene informazioni sul bilanciatore del carico per il cluster utente.
loadBalancer.vips.controlPlaneVIP
Stringa
immutabile
obbligatoria
L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il server API Kubernetes del cluster utente.
Esempio:
loadBalancer: vips: controlplaneVIP: "203.0.113.3"
loadBalancer.vips.ingressVIP
Stringa
immutabile
obbligatoria
L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il proxy in entrata.
Esempio:
loadBalancer: vips: ingressVIP: "203.0.113.4"
loadBalancer.kind
Obbligatorio
Immutabile
Stringa
Precompilato: "MetalLB"
Imposta l'opzione su "ManualLB"
, "F5BigIP"
, "Seesaw"
o "MetalLB"
.
Per attivare funzionalità nuove e avanzate, ti consigliamo di utilizzare "ManualLB"
se
hai un bilanciatore del carico di terze parti (come F5 BIG-IP o Citrix) o
"MetalLB"
per la nostra soluzione in bundle.
Esempio:
loadBalancer: kind: "MetalLB"
loadBalancer.manualLB
Se imposti loadbalancer.kind
su "manualLB"
, compila questa sezione. In caso contrario, rimuovi questa sezione o lascia senza commenti.
loadBalancer.manualLB.ingressHTTPNodePort
Obbligatorio se loadBalancer.kind
= ManualLB
Immutabile
Numero intero
Precompilato: 30243
Il proxy in entrata in un cluster utente è esposto da un
servizi Kubernetes di tipo LoadBalancer
.
Il servizio dispone di un ServicePort per HTTP. Devi scegliere un valore nodePort
per HTTP ServicePort.
Imposta questo campo sul valore nodePort
.
Esempio:
loadBalancer: manualLB: ingressHTTPNodePort: 32527
loadBalancer.manualLB.ingressHTTPSNodePort
Obbligatorio se loadBalancer.kind
= ManualLB
Immutabile
Numero intero
Precompilato: 30879
Il proxy in entrata in un cluster utente è esposto da un servizio di tipo LoadBalancer. Il servizio ha un ServicePort per HTTPS. Devi scegliere un
valore nodePort
per HTTPS ServicePort.
Imposta questo campo sul valore nodePort
.
Esempio:
loadBalancer: manualLB: ingressHTTPSNodePort: 30139
loadBalancer.manualLB.controlPlaneNodePort
Obbligatorio se loadBalancer.kind
= ManualLB
e
enableControlplaneV2
= false
Immutabile
Numero intero
Precompilato: 30562
Il server API Kubernetes di un cluster utente viene eseguito nel cluster di amministrazione ed è esposto da un servizio di tipo LoadBalancer
. Devi scegliere un valore nodePort
per il servizio.
Imposta questo campo sul valore nodePort
.
Esempio:
loadBalancer: manualLB: controlPlaneNodePort: 30968
loadBalancer.manualLB.konnectivityServerNodePort
Obbligatorio se loadBalancer.kind
= ManualLB
e
enableControlplaneV2
= false
Immutabile
Numero intero
Precompilato: 30563
Il server API Kubernetes di un cluster utente che utilizza kubeception viene eseguito nel cluster di amministrazione ed è esposto da un servizio di tipo LoadBalancer
. Il server di Konnectivity riutilizza questo servizio con un valore nodePort
diverso. Devi
scegliere un valore nodePort
per il server Konnectivity.
Imposta questo campo sul valore nodePort
per il server Konnectivity.
Esempio:
loadBalancer: manualLB: konnectivityServerNodePort: 30969
loadBalancer.f5BigIP
Se imposti loadbalancer.kind
su "f5BigIP"
, compila questa sezione. In caso contrario, rimuovi questa sezione o lascia senza commenti.
Per abilitare funzionalità nuove e avanzate, ti consigliamo di configurare il bilanciamento del carico manuale per il bilanciatore del carico F5 BIG-IP. Per abilitare il bilanciamento del carico manuale, imposta loadbalancer.kind
su "ManualLB"
e compila la sezione loadBalancer.manualLB
. Per maggiori
informazioni, consulta
Attivazione della modalità di bilanciamento del carico manuale.
loadBalancer.f5BigIP.address
Obbligatorio se loadBalancer.kind
= "f5BigIP"
Stringa
L'indirizzo del bilanciatore del carico BIG-IP di F5.
Esempio:
loadBalancer: f5BigIP: address: "203.0.113.2"
loadBalancer.f5BigIP.credentials.fileRef.path
Obbligatorio se loadBalancer.kind
= "f5BigIP"
Stringa
Il percorso di un file delle credenziali contenente il nome utente e la password di un account che Google Distributed Cloud può utilizzare per connettersi al tuo bilanciatore del carico F5 BIG-IP.
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 di risorse.
Per informazioni sull'aggiornamento delle credenziali BIG-IP di F5, consulta Aggiornare le credenziali del cluster.
Esempio:
loadBalancer: f5BigIP: credentials: fileRef: path: ""my-config-folder/user-creds.yaml"
loadBalancer.f5BigIP.credentials.fileRef.entry
Obbligatorio se loadBalancer.kind
= "f5BigIP"
Stringa
Il nome del blocco delle credenziali, nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account F5 BIG-IP.
Esempio:
loadBalancer: f5BigIP: credentials: fileRef: entry: "f5-creds"
loadBalancer.f5BigIP.partition
Obbligatorio se loadBalancer.kind
= "f5BigIP"
Stringa
Il nome di una partizione BIG-IP che hai creato per il cluster utente.
Esempio:
loadBalancer: f5BigIP: partition: "my-f5-user-partition"
loadBalancer.f5BigIP.snatPoolName
Obbligatorio se loadBalancer.kind
= "f5BigIP"
e stai utilizzando SNAT
Stringa
Il nome del pool SNAT.
Esempio:
loadBalancer: f5BigIP: snatPoolName: "my-snat-pool"
loadBalancer.seesaw
Se imposti loadbalancer.kind
su "Seesaw"
, compila questa sezione. In caso contrario, rimuovi questa sezione o lascia senza commenti.
Tieni presente le seguenti limitazioni relative al bilanciatore del carico SeeSaw:
- Se un cluster di amministrazione ad alta disponibilità gestisce questo cluster utente, non può utilizzare il bilanciatore del carico Seesaw.
- I cluster utente con Controlplane V2 abilitato non possono utilizzare il bilanciatore del carico Seesaw.
Per utilizzare queste funzionalità, ti consigliamo di configurare il bilanciatore del carico MetalLB. Per abilitare il bilanciatore del carico MetalLB, imposta loadbalancer.kind
su"MetalLB"
e compila la sezione
loadBalancer.metalLB
. Per ulteriori informazioni, vedi Bilanciamento del carico in bundle con MetalLB.
Se attualmente utilizzi il bilanciatore del carico SeeSaw, ti consigliamo di eseguire la migrazione a MetalLB.
loadBalancer.seesaw.ipBlockFilePath
Obbligatorio se loadBalancer.kind
= Seesaw
immutabile
Stringa
Il percorso del file del blocco IP per le VM di Seesaw.
Esempio:
loadBalancer: seesaw: ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"
loadBalancer.seesaw.vrid
Obbligatorio se loadBalancer.kind
= Seesaw
Immutabile
Numero intero
Valori possibili: 1 - 255
Precompilato: 0
L'identificatore del router virtuale della VM Seesaw. Questo identificatore, che è un numero intero di tua scelta, deve essere univoco in una VLAN.
Esempio:
loadBalancer: seesaw: vrid: 125
loadBalancer.seesaw.masterIP
Obbligatorio se loadBalancer.kind
= Seesaw
immutabile
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
Meditabile
Numero intero
Precompilato: 4
Il numero di CPU per ciascuna delle tue VM di Seesaw.
Esempio:
loadBalancer: seesaw: cpus: 8
loadBalancer.seesaw.memoryMB
Obbligatorio se loadBalancer.kind
= Seesaw
Meditabile
Numero intero
Precompilato: 3072
Il numero di mebibyte di memoria per ciascuna delle VM di Seesaw.
Esempio:
loadBalancer: seesaw: memoryMB: 8192
Nota: questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte corrisponde a 2^20 = 1.048.576 byte. Un megabyte corrisponde a 10^6 = 1.000.000 di byte.
loadBalancer.seesaw.vCenter.networkName
Facoltativo
Immutabile
Stringa
Predefinito: come i nodi del cluster
Il nome della rete vCenter che contiene le VM di Seesaw.
Esempio:
loadBalancer: seesaw: vCenter: networkName: "my-seesaw-network"
loadBalancer.seesaw.enableHA
Facoltativo
Immutabile
Pertinente se loadBalancer.kind
= Seesaw
Booleano
Precompilato: false
Predefinito: false
Se vuoi creare un bilanciatore del carico Seesaw ad alta disponibilità, impostalo su true
. In caso contrario, imposta questo valore 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
Immutabile
Pertinente se loadBalancer.kind
= Seesaw
Booleano
Precompilato: true
Predefinito: true
Se lo imposti su true
, il bilanciatore del carico Seesaw non utilizza il apprendimento MAC per il failover. Utilizza invece
l'ARP gratuito.
Se lo imposti su false
, il bilanciatore del carico di Seesaw utilizza l'apprendimento MAC. Ti
consigliamo di impostare questo valore su true
. Se utilizzi vSphere 7 o versioni successive e disponi di un bilanciatore del carico Seesaw ad alta disponibilità, devi impostarlo su true
.
Esempio:
loadBalancer: seesaw: disableVRRPMAC: true
loadBalancer.metalLB
Se imposti loadbalancer.kind
su "MetalLB"
, compila questa sezione. In caso contrario, rimuovi questa sezione o lascia senza commenti.
Per ulteriori informazioni, consulta Bilanciamento del carico in bundle con MetalLB.
loadBalancer.metalLB.addressPools
Obbligatorio se loadBalancer.kind
= "MetalLB"
Mutabile
Array di oggetti, ognuno dei quali contiene informazioni su un pool di indirizzi da utilizzare dal bilanciatore del carico MetalLB.
loadBalancer.metalLB.addressPools[i].name
Obbligatorio se loadBalancer.kind
= MetalLB
Modificabile
Stringa
Un nome a tua scelta per il pool di indirizzi.
Esempio:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1"
loadBalancer.metalLB.addressPools[i].addresses
Obbligatorio se loadBalancer.kind
= MetalLB
Modificabile
array di stringhe, ognuna delle quali è un intervallo di indirizzi. Ogni intervallo deve essere in formato CIDR o in formato intervallo con trattino.
Esempio:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" addresses: - "192.0.2.0/26" - "192.0.2.64-192.0.2.72"
loadBalancer.metalLB.addressPools[i].avoidBuggyIPs
Facoltativo
Pertinente se loadBalancer.kind
= MetalLB
Modificabile
Booleano
Precompilato: false
Predefinito: false
Se lo imposti su true
, il controller MetalLB non assegnerà indirizzi IP che terminano con .0 o .255 ai servizi. In questo modo si evita il problema dei bug nei
dispositivi consumer che inviano erroneamente il traffico inviato a quegli indirizzi IP speciali.
Esempio:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" - "192.0.2.0/26" - "192.0.2.64-192.0.2.72" avoidBuggyIPs: true
loadBalancer.metalLB.addressPools[i].manualAssign
Facoltativo
Pertinente se loadBalancer.kind
= MetalLB
Modificabile
Booleano
Precompilato: false
Predefinito: false
Se non vuoi che il controller MetalLB assegni automaticamente gli indirizzi IP da questo pool ai servizi, impostalo su true
. Quindi uno sviluppatore può creare un servizio di tipo LoadBalancer
e specificare manualmente uno degli indirizzi dal pool.
In caso contrario, imposta questo valore su false
.
Esempio:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" manualAssign: true
enableDataplaneV2
Facoltativo
Immutabile
Booleano
Precompilato: true
Predefinito: false
Se vuoi abilitare Dataplane V2 o se vuoi utilizzare Controlplane V2, imposta questo su true
. In caso contrario, imposta questo valore su false
. Ti consigliamo di abilitare
Dataplane V2.
Esempio:
enableDataplaneV2: true
Per la procedura di risoluzione dei problemi, consulta la pagina Risoluzione dei problemi di Dataplane V2.
dataplaneV2.forwardMode
Facoltativo
Immutabile
Stringa
Valori possibili: "snat", "dsr"
Precompilato: "snat"
Predefinito: "snat"
La modalità di forwarding per un cluster in cui è abilitata Dataplane V2.
Con la modalità Network Address Translation (SNAT) di origine, un pacchetto viene tradotto tramite SNAT quando viene inoltrato da un nodo del bilanciatore del carico a un pod di backend. Il pod non può vedere l'indirizzo IP di origine originale e il pacchetto restituito deve passare attraverso il nodo del bilanciatore del carico.
Con la modalità DSR (Direct Server Return), un pacchetto conserva l'indirizzo IP di origine originale quando viene inoltrato da un nodo del bilanciatore del carico a un pod di backend. Il pod può vedere l'indirizzo IP di origine originale e il pacchetto restituito viene inviato direttamente al client senza passare attraverso il nodo del bilanciatore del carico.
Esempio:
dataplaneV2: forwardMode: "dsr"
multipleNetworkInterfaces
Facoltativo
Immutabile
Booleano
Precompilato: false
Predefinito: false
Se vuoi abilitare più interfacce di rete per i pod, impostalo su true
. In caso contrario, imposta questo valore su false
.
Per ulteriori informazioni, consulta Configurare più interfacce di rete per i pod.
Esempio:
multipleNetworkInterfaces: true
advancedNetworking
Facoltativo
Immutabile
booleano
Precompilato: false
Predefinito: false
Se prevedi di creare un gateway NAT in uscita, impostalo su true
. In caso contrario, impostala su false
.
Se imposti questo campo su true
, devi impostare anche enableDataplaneV2
su
true
.
Esempio:
advancedNetworking: true
disableBundledIngress
Imposta questo valore su true
se vuoi
disabilitare il traffico in entrata in bundle
per il cluster. In caso contrario, impostala su false
.
Facoltativo
Booleano
Modificabile
Precompilato: false
Predefinito: false
Esempio:
disableBundledIngress: true
storage.vSphereCSIDisabled
Se vuoi disabilitare il deployment dei componenti CSI vSphere, impostalo su true
. In caso contrario, impostala su false
.
Facoltativo
Modificabile
Booleano
Precompilato: false
Predefinito: false
Esempio:
storage: vSphereCSIDisabled: false
masterNode
Questa sezione contiene informazioni sui nodi che fungono da nodi del piano di controllo per il cluster utente.
masterNode.cpus
Facoltativo
Modificabile
Numero intero
Precompilato: 4
Predefinito: 4
Il numero di CPU per ogni nodo che funge da piano di controllo per questo cluster utente.
Esempio:
masterNode: cpus: 8
masterNode.memoryMB
Facoltativo
Modificabile
Numero intero
Precompilato: 8192
Predefinito: 8192
I mebibyte di memoria per ogni nodo che funge da piano di controllo per questo cluster utente. Deve essere un multiplo di 4.
Esempio:
masterNode: memoryMB: 8192
Nota: questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte corrisponde a 2^20 = 1.048.576 byte. Un megabyte corrisponde a 10^6 = 1.000.000 di byte.
masterNode.replicas
Facoltativo
Immutabile
Numero intero
Valori possibili: 1 o 3
Precompilato: 1
Predefinito: 1
Il numero di nodi del piano di controllo per questo cluster utente. Questo numero non può essere modificato dopo aver creato il cluster. Se vuoi aggiornare il numero di repliche in un secondo momento, devi ricreare il cluster utente.
Esempio:
masterNode: replicas: 3
masterNode.autoResize.enabled
Facoltativo
Modificabile
Booleano
Precompilato: false
Predefinito: false
Impostalo su true
per abilitare il ridimensionamento automatico dei nodi del piano di controllo per il cluster utente. In caso contrario, imposta questo valore su false
.
Per ulteriori informazioni, consulta Abilitare il ridimensionamento dei nodi per i nodi del piano di controllo di un cluster utente.
Esempio:
masterNode: autoResize: enabled: true
masterNode.vsphere.datastore
Facoltativo
Immutabile
Stringa
Predefinito: il valore di vCenter.datastore
Il datastore in cui verranno creati i nodi del piano di controllo per questo cluster utente.
Esempio:
masterNode: vSphere: datastore: "control-plane-datastore"
Se specifichi un valore per questo campo, non specificare un valore per masterNode.vsphere.storagePolicyName
.
masterNode.vsphere.storagePolicyName
Facoltativo
Immutabile
Stringa
Predefinito: il valore di vCenter.storagePolicyName
Il nome di un criterio di archiviazione VM per i nodi del piano di controllo.
Per ulteriori informazioni, consulta Configurare un criterio di archiviazione.
Esempio:
masterNode: vSphere: storagePolicyName: "control-plane-storage-policy"
Se specifichi un valore per questo campo, non specificare un valore per masterNode.vsphere.datastore
.
nodePools
Obbligatorio
Meditabile
Array di oggetti, ognuno dei quali descrive un pool di nodi.
Per ulteriori informazioni, consulta Creazione e gestione dei pool di nodi.
nodePools[i].name
Stringa
immutabile
obbligatoria
Un nome scelto da te per il pool di nodi. Il nome deve:
- Deve contenere al massimo 40 caratteri
- Contenere solo caratteri alfanumerici minuscoli o un trattino (
-
) - iniziano con un carattere alfabetico
- terminare con un carattere alfanumerico
Esempio:
nodePools: - name: "my-node-pool-1"
nodePools[i].gkeOnPremVersion
Quando esegui l'upgrade di un cluster utente, puoi specificare che i pool di nodi selezionati rimangono alla versione precedente.
Se vuoi che questo pool di nodi rimanga alla versione precedente, impostala sulla versione precedente. In caso contrario, rimuovi questo campo o impostalo sulla stringa vuota. Per maggiori informazioni, consulta Eseguire l'upgrade dei pool di nodi.
Facoltativo
Modificabile
Stringa
Predefinito: il cluster gkeOnPremVersion
Esempio:
nodePools: - name: "my-node-pool" gkeOnPremVersion: "1.13.0-gke.16"
nodePools[i].cpus
Obbligatorio
Modificabile
Numero intero
Precompilato: 4
Il numero di vCPU per ciascun nodo nel pool.
Esempio:
nodePools" - name: "my-node-pool" cpus: 8
nodePools[i].memoryMB
Obbligatorio
Modificabile
Numero intero
Precompilato: 8192
I mebibyte di memoria per ogni nodo nel pool. Deve essere un multiplo di 4.
Esempio:
nodePools" - name: "my-node-pool" memoryMB: 8192
Nota: questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte corrisponde a 2^20 = 1.048.576 byte. Un megabyte corrisponde a 10^6 = 1.000.000 di byte.
nodePools[i].replicas
Obbligatorio
Meditabile
Numero intero
Precompilato: 3
Valori possibili: il numero totale di nodi non incompatibili in tutti i pool di nodi del cluster deve essere almeno 3.
Il numero di nodi nel pool.
Esempio:
nodePools: - name: "my-node-pool" replicas: 5
nodePools[i].bootDiskSizeGB
Facoltativo
Modificabile
Numero intero
Precompilato: 40
Predefinito: 40
Le dimensioni del disco di avvio in gibibyte per ogni nodo nel pool.
Esempio:
nodePools - name: "my-node-pool" bootDiskSizeGB: 40
nodePools[i].osImageType
Facoltativo
Modificabile
String
Valori possibili: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2", "windows"
Precompilato: "ubuntu_cgv2"
Predefinito: "ubuntu_containerd"
Il tipo di immagine del sistema operativo da eseguire sulle VM nel pool di nodi.
Se specifichi ubuntu_cgv2
o cos_cgv2
, devi eseguire gkectl prepare --extra-os-image-types=cgroupv2
prima di creare/aggiornare il cluster.
Esempio:
nodePools - name: "my-node-pool" osImageType: "ubuntu_cgv2"
nodePools[i].osImage
Obbligatorio se nodePools[i].osImageType
= windows
Modificabile
Stringa
Il nome di un modello di VM Windows. Il modello deve essere basato su un file ISO di Windows Server 2019 con tag en-US per lingua/regione.
Per ulteriori informazioni, consulta la Guida dell'utente per i pool di nodi del sistema operativo Windows Server.
nodePools[i].labels
Facoltativo
Meditabile
Mappatura
Etichette da applicare a ciascun oggetto Nodo Kubernetes nel pool.
Esempio:
nodePools: - name: "my-node-pool" labels: environment: "production" tier: "cache"
Per motivi di sicurezza, il kubelet non può applicare etichette a se stesso in determinati spazi dei nomi.
Gli spazi dei nomi riservati delle etichette del nodo sono : kubernetes.io
, k8s.io
e googleapis.com
.
nodePools[i].taints
Facoltativo
Meditabile
Array di oggetti, ognuno dei quali descrive un'incompatibilità di Kubernetes applicata a ciascun nodo nel pool. Le incompatibilità sono coppie chiave/valore associate a un effect
. Le incompatibilità
vengono utilizzate con le tolleranze per la pianificazione dei pod. Specifica una delle seguenti opzioni per effect
: NoSchedule
, PreferNoSchedule
, NoExecute
.
Esempio:
nodePools: - name: "my-node-pool" taints: - key: "staging" value: "true" effect: "NoSchedule"
nodePools[i].vsphere.datastore
Facoltativo
Modificabile
Stringa
Predefinito: il valore di vCenter.datastore
Il nome del datastore vCenter in cui verranno creati i nodi.
Esempio:
nodePools: - name: "my-node-pool" vsphere: datastore: "my-datastore"
Se specifichi un valore per questo campo, non specificare un valore per nodePools[i].vsphere.storagePolicyName
.
nodePools[i].vsphere.storagePolicyName
Facoltativo
Modificabile
Stringa
Predefinito: il valore di vCenter.storagePolicyName
Il nome di un criterio di archiviazione VM per i nodi nel pool.
Per ulteriori informazioni, consulta Configurare un criterio di archiviazione.
Esempio:
nodePools: - name: "my-node-pool" vsphere: storagePolicyName: "my-storage-policy"
Se specifichi un valore per questo campo, non specificare un valore per nodePools[i].vsphere.datastore
.
nodePools[i].vsphere.hostgroups
Compila questa sezione se vuoi configurare il cluster per utilizzare l'affinità host VM.
Facoltativo
Meditabile
Array di stringhe, ognuna delle quali è il nome di un
gruppo DRS host.
L'array può contenere un solo elemento.
Esempio:
nodePools: - name: "my-node-pool" vsphere: hostgroups: - "my-hostgroup"
nodePools[i].vsphere.tags
Facoltativo
Mutable
Array di oggetti, ognuno dei quali descrive un
tag vSphere
da posizionare sulle VM nel pool di nodi.
Ogni tag ha una categoria e un nome.
Esempio:
nodePools: - name: "my-node-pool" vsphere: tags: - category: "purpose" name: "testing"
Se vuoi collegare i tag a tutte le VM in un pool di nodi, il tuo account utente vCenter deve disporre di questi privilegi di tagging vSphere:
- Tagging vSphere.Assegnazione o annullamento dell'assegnazione di tag vSphere
- Tagging vSphere.Assegnazione o annullamento dell'assegnazione di tag vSphere sull'oggetto (vSphere 7)
nodePools[i].autoscaling
Facoltativo
Modificabile
Se vuoi abilitare la scalabilità automatica per il pool di nodi, compila questa sezione. In caso contrario, rimuovi questa sezione o abbandona i commenti.
nodePools[i].autoscaling.minReplicas
Facoltativo
Modificabile
Numero intero
Valori possibili: maggiore o uguale a 1
Precompilato: 0
Il numero minimo di nodi che il gestore della scalabilità automatica può impostare per il pool.
Esempio:
nodePools: - name: "my-node-pool" autoscaling: minReplicas: 5
nodePools[i].autoscaling.maxReplicas
Facoltativo
Modificabile
Numero intero
Precompilato: 0
Il numero massimo di nodi che il gestore della scalabilità automatica può impostare per il pool.
Esempio:
nodePools: - name: "my-node-pool" autoscaling: maxReplicas: 10
nodePools[i].enableLoadBalancer
Facoltativo
Pertinente se loadBalancer.kind
= "MetalLB"
Modificabile
Booleano
Precompilato: true
Predefinito: false
Imposta questo valore su true
se vuoi consentire allo speaker MetalLB di funzionare sui nodi
del pool. In caso contrario, impostala su false
.
Per ulteriori informazioni, consulta Bilanciamento del carico in bundle con MetalLB.
Esempio:
nodePools: - name: "my-node-pool" enableLoadBalancer: true
nodePools[i].updateStrategy.rollingUpdate.maxSurge
Anteprima
Facoltativo
Modificabile
Numero intero
Predefinito: 1
Il numero massimo di macchine nel pool di nodi che possono essere aggiornate contemporaneamente durante un aggiornamento o un upgrade.
nodePools: - name: "my-node-pool" updateStrategy: rollingUpdate: maxSurge: 3
antiAffinityGroups.enabled
Facoltativo
Modificabile
Booleano
Precompilato: true
Imposta l'opzione su true
per abilitare la creazione di regole DRS. In caso contrario, imposta questo valore su
false
.
Esempio:
antiAffinityGroups: enabled: true
Se questo campo è true
, Google Distributed Cloud crea regole di anti-affinità di VMware Distributed Resource Scheduler (DRS) per i nodi del tuo cluster utente, determinandone la distribuzione su almeno tre host ESXi fisici nel tuo data center.
Questa funzionalità richiede che l'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 su tre host ESXi, ti consigliamo vivamente di mettere a disposizione almeno quattro host ESXi.
Ricorda che se disponi di una licenza vSphere Standard, non puoi abilitare VMware DRS.
Se non hai abilitato DRS o se non hai almeno quattro host in cui
puoi pianificare le VM vSphere, imposta antiAffinityGroups.enabled
su false
.
enableVMTracking
Anteprima
Facoltativo
Immutabile
Precompilato: false
Impostalo su true
per abilitare il monitoraggio delle VM con i tag vSphere. In caso contrario, impostala su false
.
Per ulteriori informazioni, consulta Abilitare il monitoraggio delle VM.
Esempio:
enableVMTracking: true
nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate
Facoltativo
Numero intero
Valori possibili: 0 o 1
Precompilato: 0
Il numero di pool di nodi da aggiornare contemporaneamente. Il valore 1
specifica che è possibile aggiornare
un pool di nodi alla volta. Il valore 0
specifica che è possibile aggiornare
un numero illimitato di pool di nodi alla volta.
Esempio:
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
nodePoolUpdatePolicy.updateStrategy.rollingUpdate.maxSurge
Anteprima
Facoltativo
Modificabile
Numero intero
Predefinito: 1
Il numero massimo di macchine in un pool di nodi che possono essere aggiornate contemporaneamente durante un aggiornamento o un upgrade. Si applica a qualsiasi pool di nodi che non specifica la propria strategia di aggiornamento.
nodePools: - name: "my-node-pool" updateStrategy: rollingUpdate: maxSurge: 3
authentication
Questa sezione contiene informazioni su come gli utenti del cluster vengono autenticati.
authentication.oidc
Non usare questa sezione. Dopo la creazione del cluster, modifica invece la risorsa personalizzata ClientConfig come descritto in Configurazione dei cluster per Anthos Identity Service con OIDC .
authentication.sni
Facoltativo
Se vuoi fornire un certificato di servizio aggiuntivo per il server API Kubernetes del cluster, compila questa sezione. Altrimenti, rimuovi questa sezione o lasciala senza commenti.
authentication.sni.certPath
Stringa
facoltativa
Il percorso di un certificato di pubblicazione per il server API Kubernetes.
Esempio:
authentication: sni: certPath: "my-cert-folder/example.com.crt"
authentication.sni.keyPath
Stringa
facoltativa
Il percorso del file della chiave privata del certificato.
Esempio:
authentication: sni: keyPath: "my-cert-folder/example.com.key"
gkeConnect
Obbligatorio
Immutabile
Questa sezione contiene informazioni sul progetto Google Cloud e sull'account di servizio da utilizzare per registrare il cluster in un parco risorse Google Cloud.
gkeConnect.projectID
Stringa
immutabile
obbligatoria
L'ID del tuo progetto host del parco risorse.
Per i nuovi cluster, questo ID progetto deve essere uguale all'ID impostato in stackdriver.projectID
e cloudAuditLogging.projectID
. Se gli ID progetto non sono uguali, la creazione del cluster ha esito negativo. Questo requisito non si applica ai cluster esistenti.
Esempio:
gkeConnect: projectID: "my-fleet-host-project"
gkeConnect.location
Facoltativo
Immutabile
Stringa
Predefinito: globale
L'appartenenza al parco risorse di ogni cluster è gestita dal servizio Fleet
(gkehub.googleapis.com
) e dal servizio Connect
(gkeconnect.googleapis.com
). La località dei servizi può essere globale o
a livello di regione. Dalla versione 1.28 in poi, puoi specificare facoltativamente la regione Google Cloud in cui vengono eseguiti il parco risorse e i servizi Connect. Se non specificato, vengono usate
le istanze globali dei servizi. Tieni presente quanto segue:
I cluster utente creati prima della versione 1.28 sono gestiti dai servizi Fleet e Connect globali.
I nuovi cluster creati utilizzando i client dell'API GKE On-Prem (la console Google Cloud, Google Cloud CLI o Terraform) utilizzano la stessa regione specificata per l'API GKE On-Prem.
Per i nuovi cluster, se includi questo campo, la regione specificata deve essere uguale a quella configurata in
cloudAuditLogging.clusterLocation
,stackdriver.clusterLocation
egkeOnPremAPI.location
. Se le regioni non sono le stesse, la creazione del cluster non riesce.
Esempio:
gkeConnect: location: "us-central1"
gkeConnect.registerServiceAccountKeyPath
Stringa
Modificabile
Obbligatoria
Il percorso del file della chiave JSON per il tuo account di servizioconnect-register.
Per aggiornare il valore di questo campo, utilizza gkectl update cluster
.
Per informazioni sulla modifica della chiave dell'account di servizio Connect-register, consulta Rotazione delle chiavi degli account di servizio.
Esempio:
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
gkeConnect.registerServiceAccountKey.secretRef.version
Obbligatorio se vengono utilizzate credenziali preparate
Mutable
String
Valori possibili: una stringa intera o "latest"
Valore predefinito: "più recente"
La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per il tuo account di servizio connect-register.
Esempio:
gkeConnect: registerServiceAccountKey: secretRef: version: "1"
gkeOnPremAPI
Facoltativo
Nella versione 1.16 e successive, se l'API GKE On-Prem è abilitata nel tuo progetto Google Cloud, tutti i cluster nel progetto vengono registrati automaticamente nell'API GKE On-Prem nella regione configurata in stackdriver.clusterLocation
.
Se vuoi registrare tutti i cluster del progetto nell'API GKE On-Prem, assicurati di eseguire i passaggi descritti in Prima di iniziare per attivare e utilizzare l'API GKE On-Prem nel progetto.
Se non vuoi registrare il cluster nell'API GKE On-Prem, includi questa sezione e imposta
gkeOnPremAPI.enabled
sufalse
. Se non vuoi registrare alcun cluster nel progetto, disabilitagkeonprem.googleapis.com
(il nome del servizio per l'API GKE On-Prem) nel progetto. Per le istruzioni, vedi Disabilitare i servizi.
La registrazione del cluster utente nell'API GKE On-Prem ti consente di utilizzare
gli strumenti standard, la console Google Cloud, Google Cloud CLI e
Terraform, per gestire il ciclo di vita del cluster. Inoltre, la registrazione del cluster consente di utilizzare la console o gcloud CLI per visualizzare i dettagli del cluster. Ad esempio, puoi eseguire i comandi gcloud
per
ottenere informazioni sul cluster utente.
Dopo aver aggiunto questa sezione e creato o aggiornato il cluster, 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
Predefinito: true
Per impostazione predefinita, il cluster è registrato nell'API GKE On-Prem se
l'API GKE On-Prem è abilitata nel tuo progetto. Imposta su false
se non vuoi registrare il cluster.
Dopo che il cluster è stato registrato nell'API GKE On-Prem, se devi annullare la registrazione del cluster, apporta la seguente modifica e aggiorna il cluster:
gkeOnPremAPI: enabled: false
gkeOnPremAPI.location
Obbligatorio se è inclusa la sezione gkeOnPremAPI
.
Immutabile
Stringa
Predefinito: stackdriver.clusterLocation
La regione Google Cloud in cui viene eseguita l'API GKE On-Prem e archivia i metadati del cluster. Scegli una delle
regioni supportate.
Devi utilizzare la stessa regione configurata in gkeConnect.location
,
stackdriver.clusterLocation
e cloudAuditLogging.clusterLocation
. Se gkeOnPremAPI.enabled
è false
, non includere questo campo.
stackdriver
Obbligatorio per impostazione predefinita
Meditabile
Se vuoi abilitare Cloud Logging e Cloud Monitoring per il tuo cluster, compila questa sezione. In caso contrario, rimuovi questa sezione o lascia l'aggiunta di commenti.
Questa sezione è obbligatoria per impostazione predefinita. Vale a dire che, se non includi questa sezione,
devi includere il flag --skip-validation-stackdriver
quando esegui
gkectl create cluster
.
Questa sezione è obbligatoria nel cluster utente se vuoi gestire il ciclo di vita dei cluster utente nella console Google Cloud.
stackdriver.projectID
Obbligatorio per Logging e Monitoring
Immutabile
Stringa
L'ID del tuo progetto host del parco risorse.
Per i nuovi cluster, questo ID progetto deve essere uguale all'ID impostato in gkeConnect.projectID
e cloudAuditLogging.projectID
. Se gli ID progetto non sono uguali, la creazione del cluster ha esito negativo. Questo requisito non si applica ai cluster esistenti.
Se necessario, puoi configurare un router dei log in questo progetto per instradare i log in bucket di log di un altro progetto. Per informazioni su come configurare il router dei log, vedi Destinazioni supportate.
Esempio:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Obbligatorio per il logging e il monitoraggio
Immutabile
Stringa
Precompilato: "us-central1"
La regione Google Cloud in cui vuoi archiviare i log. È consigliabile scegliere una regione vicina al data center on-premise.
Per i nuovi cluster, se includi le sezioni gkeOnPremAPI
e cloudAuditLogging
nel file di configurazione, la regione impostata qui deve essere la stessa impostata in gkeConnect.location
, gkeOnPremAPI.location
e cloudAuditLogging.clusterLocation
. Se le regioni non corrispondono,
la creazione del cluster non riesce.
Esempio:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Facoltativo
Immutabile
Booleano
Precompilato: false
Se la rete del cluster è controllata da un VPC, imposta questo valore su true
.
Ciò garantisce che tutta la telemetria passi attraverso gli indirizzi IP limitati di Google.
In caso contrario, imposta questo valore su false
.
Esempio:
stackdriver: enableVPC: false
stackdriver.serviceAccountKeyPath
Obbligatorio per Logging e Monitoring
Mutable
String
Il percorso del file della chiave JSON per l'account di servizio di monitoraggio dei log.
Per aggiornare il valore di questo campo, utilizza gkectl update cluster
.
Per informazioni sulla modifica della chiave dell'account di servizio di monitoraggio dei log, consulta Rotazione delle chiavi degli account di servizio.
Esempio:
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
stackdriver.serviceAccountKey.secretRef.version
Obbligatorio se vengono utilizzate credenziali preparate
Mutable
String
Valori possibili: una stringa intera o "latest"
Valore predefinito: "più recente"
La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per l'account di servizio di monitoraggio dei log.
Esempio:
stackdriver: serviceAccountKey: secretRef: version: "1"
stackdriver.disableVsphereResourceMetrics
Facoltativo
Modificabile
Booleano
Precompilato: false
Predefinito: false
Impostalo su true
per disattivare la raccolta di metriche da vSphere.
In caso contrario, impostala su false
.
Esempio:
stackdriver: disableVsphereResourceMetrics: true
usageMetering
Anteprima
Non modificabile
Facoltativo
Se vuoi abilitare la misurazione dell'utilizzo per il tuo cluster, compila questa sezione. In caso contrario, rimuovi questa sezione o abbandona i commenti.
usageMetering.bigQueryProjectID
Anteprima
Obbligatorio per la misurazione dell'utilizzo
Immutabile
Stringa
L'ID del progetto Google Cloud in cui vuoi archiviare i dati di misurazione dell'utilizzo.
Esempio:
usageMetering: bigQueryProjectID: "my-bq-project"
usageMetering.bigQueryDatasetID
Anteprima
Obbligatorio per la misurazione dell'utilizzo
Immutabile
Stringa
L'ID del set di dati BigQuery in cui vuoi archiviare i dati di misurazione dell'utilizzo. Esempio:
usageMetering: bigQueryDatasetID: "my-bq-dataset"
usageMetering.bigQueryServiceAccountKeyPath
Anteprima
Obbligatorio per la misurazione dell'utilizzo
Immutabile
Stringa.
Il percorso del file della chiave JSON per il tuo account di servizio BigQuery.
Per aggiornare il valore di questo campo, utilizza gkectl update cluster
.
Per informazioni sulla modifica della chiave dell'account di servizio BigQuery, consulta Rotazione delle chiavi dell'account di servizio.
Esempio:
usageMetering: bigQueryServiceAccountKeyPath: "my-key-folder/bq-key.json"
usageMetering.bigQueryServiceAccountKey.secretRef.version
Obbligatorio se vengono utilizzate credenziali preparate
Mutable
String
Valori possibili: una stringa intera o "latest"
Valore predefinito: "più recente"
La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per il tuo account di servizio BigQuery.
Esempio:
gkeConnect: bigQueryServiceAccountKey: secretRef: version: "1"
usageMetering.enableConsumptionMetering
Anteprima
Obbligatorio per la misurazione dell'utilizzo
Immutabile
Booleano
Precompilato: false
Imposta questo valore su true
se vuoi abilitare la misurazione basata sul consumo.
In caso contrario, imposta questo valore su false.
Esempio:
usageMetering: enableConsumptionMetering: 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 abbandona i commenti.
cloudAuditLogging.projectID
Obbligatorio per Cloud Audit Logs
Immutabile
Stringa
L'ID del progetto host del parco risorse.
Per i nuovi cluster, questo ID progetto deve essere uguale all'ID impostato in gkeConnect.projecID
e stackdriver.projectID
. Se gli ID progetto non sono uguali, la creazione del cluster ha esito negativo. Questo requisito non si applica ai cluster esistenti.
Se necessario, puoi configurare un router dei log in questo progetto per instradare i log in bucket di log di un altro progetto. Per informazioni su come configurare il router dei log, vedi Destinazioni supportate.
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. È consigliabile scegliere una regione vicina al data center on-premise
Per i nuovi cluster, se includi le sezioni gkeOnPremAPI
e stackdriver
nel file di configurazione, la regione impostata qui deve essere la stessa impostata in gkeConnect.location
, gkeOnPremAPI.location
e stackdriver.clusterLocation
. Se le regioni non sono le stesse, la creazione del cluster non riesce.
Esempio:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
Obbligatorio per Cloud Audit Logs
Mutable
String
Il percorso del file chiave JSON per il tuo account di servizio di audit logging.
Per aggiornare il valore di questo campo, utilizza gkectl update cluster
.
Per informazioni sulla modifica della chiave dell'account di servizio di audit logging, consulta Rotazione delle chiavi degli account di servizio.
Esempio:
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
cloudAuditLogging.serviceAccountKey.secretRef.version
Facoltativo
Modificabile
Stringa
Valori possibili: una stringa intera o "più recente"
Valore predefinito: "più recente"
La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per l'account di servizio di audit logging.
Esempio:
cloudAuditLogging: serviceAccountKey: secretRef: version: "1"
autoRepair.enabled
Facoltativo
Modificabile
Booleano
Precompilato: true
Imposta questo elemento su true
per abilitare la riparazione automatica dei nodi. In caso contrario, impostala su false
.
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 abbandona i commenti.
secretsEncryption.mode
Obbligatorio per la crittografia dei secret
Immutabile
String
Valore possibile: "GeneratedKey"
Precompilato: "GeneratedKey"
La modalità di crittografia dei secret.
secretsEncryption: mode: "GeneratedKey"
secretsEncryption.generatedKey.keyVersion
Obbligatorio per la crittografia dei secret
Meditabile
Numero intero
Precompilato: 1
Un numero intero di tua scelta da utilizzare per il numero di versione della chiave. Ti consigliamo di iniziare con 1
.
Per informazioni sull'aggiornamento di questo campo per un cluster esistente, consulta Crittografia dei secret sempre attivi.
Esempio:
secretsEncryption: generatedKey: keyVersion: 1
secretsEncryption.generatedKey.disabled
Facoltativo per la crittografia dei secret
Meditabile
Booleano
Precompilato: false
Imposta questo valore su true
per disabilitare la crittografia dei secret. In caso contrario, impostala su false
.
Per informazioni sull'aggiornamento di questo campo per un cluster esistente, consulta Crittografia dei secret sempre attivi.
Esempio:
secretsEncryption: generatedKey: disabled: false