File di configurazione del cluster utente

In questa pagina vengono descritti i campi del file di configurazione del cluster utente Cluster Anthos su VMware (GKE On-Prem).

Generazione di un modello per il file di configurazione

Se hai utilizzato gkeadm per creare la tua 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 al file il nome user-cluster.yaml 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

Nel file di configurazione, inserisci i valori dei campi come descritto nelle seguenti sezioni.

name

Stringa
obbligatoria

Un nome scelto da te per il tuo cluster utente. Il nome deve:

  • contengono al massimo 40 caratteri
  • contengono solo caratteri alfanumerici minuscoli o un trattino (-)
  • iniziare con un carattere alfabetico
  • terminano con un carattere alfanumerico

Esempio:

name: "my-user-cluster"

gkeOnPremVersion

Obbligatorio
Modificabile
Stringa

La versione di Cluster Anthos su VMware per il tuo cluster utente.

Esempio:

gkeOnPremVersion: "1.10.0-gke.1"

preparedSecrets.namespace

Se vuoi utilizzare credenziali preparate, compila questo campo. In caso contrario, rimuovi questo campo o non specificarlo.

Anteprima
Facoltativo
Immutable
String
Possibili valori: una stringa che inizia con "gke-onprem-secrets-"

Il nome di uno spazio dei nomi Kubernetes nel cluster di amministrazione in cui verranno conservati i secret preparati per questo cluster utente.

Esempio:

preparedSecrets:
  namespace: "gke-onprem-secrets-alice"

vCenter

Questa sezione contiene informazioni sull'ambiente vSphere e sulla connessione a vCenter Server.

Se vuoi che un campo di questa sezione corrisponda a quello specificato per il cluster di amministrazione, rimuovi il campo o lascialo commentato.

Se vuoi che un campo sia diverso da quello specificato per il cluster di amministrazione, compilalo qui. Tutti i campi compilati qui nella sezione vCenter sostituiscono i campi corrispondenti nel file di configurazione del cluster di amministrazione.

vCenter.datacenter

Facoltativo
Immutable
Stringa
Default: Eredita dal cluster di amministrazione

Il nome di un data center vCenter che contiene gli host ESXi fisici in cui verranno eseguite le VM del cluster utente.

Esempio:

vCenter:
  datacenter: "my-datacenter-2"

Se specifichi questo campo, devi specificare anche vCenter.datastore e vCenter.networkName, oltre a vCenter.cluster o vCenter.resourcePool.

vCenter.cluster

Facoltativo
Immutable
Stringa
Default: Eredita dal cluster di amministrazione

Il nome di un cluster vSphere che contiene gli host ESXi in cui verranno eseguite le VM del cluster utente. Questo cluster vSphere è un insieme di host ESXi fisici che formano un sottoinsieme degli host ESXi fisici del data center vCenter.

Esempio:

vCenter:
  cluster: "my-vsphere-cluster-2"

vCenter.resourcePool

Facoltativo
Immutable
Stringa
Default: Eredita dal cluster di amministrazione

Il nome di un pool di risorse vCenter per le VM del cluster utente.

Esempio:

vCenter:
  resourcePool: "my-resource-pool-2"

Per utilizzare il pool di risorse predefinito, impostalo su VSPHERE_CLUSTER/Resources.

Esempio:

vCenter:
  resourcePool: "my-vsphere-cluster-2/Resources"

Per ulteriori informazioni, consulta la sezione Specificare il pool di risorse root per un host autonomo.

vCenter.datastore

Facoltativo
Immutable
Stringa
Default: Eredita dal cluster di amministrazione

Il nome di un datastore vCenter per le tue VM del cluster utente.

Esempio:

vCenter:
  datastore: "my-datastore-2"

vCenter.caCertPath

Facoltativo
Modificabile
Stringa
Predefinito: Eredita dal cluster di amministrazione

Il percorso del certificato CA per il server vCenter. Per ulteriori informazioni, consulta la pagina 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 del certificato vCenter.

vCenter.credentials.fileRef.path

Facoltativo
Modificabile
Stringa
Predefinito: Eredita dal cluster di amministrazione

Il percorso di un file di configurazione delle credenziali contenente il nome utente e la password del tuo account utente vCenter. L'account utente deve avere il ruolo di amministratore o privilegi equivalenti. Vedi i requisiti di vSphere.

Puoi utilizzare gkectl update credentials per aggiornare questo campo in un cluster esistente. Per ulteriori informazioni, consulta Rotazione delle chiavi degli account di servizio.

Per informazioni sull'aggiornamento delle credenziali vCenter, consulta Aggiornamento delle credenziali 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 tuo 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.folder

Facoltativo
Immutable
Stringa
Default: Eredita dal cluster di amministrazione

Il nome di una cartella VM vCenter in cui si troveranno le VM del cluster. Devi creare questa cartella prima di creare il cluster utente.

Esempio:

vCenter:
  folder: "my-folder-2"

componentAccessServiceAccountKeyPath

Anteprima
Facoltativo
Modificabile
Stringa
Predefinito: eredita dal cluster di amministrazione

Il percorso del file della chiave JSON del tuo account di servizio del componente Accesso.

Esempio:

componentAccessServiceAccountKeyPath: "my-key-folder/uc-access-key.json"

network

Questa sezione contiene informazioni sulla rete del cluster utente.

network.hostConfig

Questa sezione contiene informazioni sui server NTP, i server DNS e i 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.

network.hostConfig.dnsServers

Obbligatorio
Immutable
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
Immutable
Array di stringhe

Gli indirizzi dei server di tempo da utilizzare per le VM.

Esempio:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Facoltativo
Immutable
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
Immutable
String
Precompilato: "dhcp"
Default: "dhcp"

Se vuoi che i nodi del cluster ricevano il proprio 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, imposta questo valore su "static".

Esempio:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Obbligatorio se network.ipMode.type = static
Immutable
Stringa

Il percorso del file di blocco IP per il tuo cluster.

Esempio:

network:
  ipMode:
    ipBlockFilePath: "/my-config-folder/user-cluster-ipblock.yaml"

network.serviceCIDR

Obbligatorio
Immutable
String
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
Immutable
String
Precompilato: "192.168.0.0/16"
Default: "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 il tuo intervallo di servizi sia 10.96.232.0/24 e che 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 in-cluster e non raggiungerà alcuna destinazione all'esterno 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 bilanciatori del carico e dai nodi del piano di controllo

  • Indirizzo IP dei server vCenter, server DNS e server NTP

Consigliamo di utilizzare gli intervalli di indirizzi di servizi e pod nello spazio degli indirizzi RFC 1918.

Ecco un motivo per cui è consigliabile utilizzare indirizzi RFC 1918. Supponiamo che il tuo pod o intervallo di servizi contenga indirizzi IP esterni. Il traffico inviato da un pod a uno di questi indirizzi esterni verrà considerato come traffico in-cluster e non raggiungerà la destinazione esterna.

network.vCenter.networkName

Facoltativo
Immutable
String

Il nome della rete vSphere per i nodi del cluster utente.

Se il nome contiene un carattere speciale, devi utilizzare una sequenza di escape.

Caratteri speciali Sequenza di escape
Barra (/) %2f
Barra rovesciata (\) %5c
Simbolo percentuale (%) %25

Se il nome della rete non è univoco, puoi specificare un percorso di rete, ad esempio /datacenter-2/network/my-network.

Ad esempio:

network:
  vCenter:
    networkName: "my-user-cluster-network"

network.vCenter.additionalNodeInterfaces

Se imposti multipleNetworkInterfaces su true, compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.
Immutabile

Un array di oggetti, ognuno dei quali descrive un'interfaccia di rete che può essere utilizzata su tutti o su alcuni dei nodi del cluster.

network.vCenter.additionalNodeInterfaces[i].networkName

Obbligatorio se multipleNetworkInterfaces = true
Immutable
Stringa

Il nome della rete vSphere a cui si connetterà questa interfaccia nodo aggiuntiva.

Esempio:

network:
  vCenter:
    additionalNodeInterfaces:
    - networkName: "my-node-interface-1"

network.vCenter.additionalNodeInterfaces[i].type

Obbligatorio se multipleNetworkInterfaces = true
Immutable
Stringa

Esempio:

network:
  vCenter:
    additionalNodeInterfaces:
    - name: "my-node-interface-1"
      type: "static"

network.vCenter.additionalNodeInterfaces[i].ipBlockFilePath

Obbligatorio se network.vCenter.additionalNodeInterfaces[i].type = static
Immutable
Stringa

Il percorso di un file di blocco IP contenente gli indirizzi IP da utilizzare per questa interfaccia di rete sui nodi che hanno questa interfaccia di rete.

Esempio:

network:
  vCenter:
    additionalNodeInterfaces:
    - name: "my-node-interface-1"
      type: "static"
      ipBlockFilePath: "my-ipblock-file-1"

loadBalancer

Questa sezione contiene informazioni sul bilanciatore del carico del cluster utente.

loadBalancer.vips.controlPlaneVIP

Obbligatorio
Immutable
Stringa

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

Obbligatorio
Immutable
Stringa

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
Immutable
String
Precompilato: "Seesaw"

Imposta questo valore su "ManualLB", "F5BigIP", "Seesaw" o "MetalLB".

Esempio:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Se imposti loadbalancer.kind su "manualLB", compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.

loadBalancer.manualLB.ingressHTTPNodePort

Obbligatorio se loadBalancer.kind = ManualLB
Immutable
Numero intero
Precompilato: 30243

Il proxy in entrata in un cluster utente è esposto da un servizio Kubernetes di tipo LoadBalancer. Il servizio ha un servizio ServicePort per HTTP. Devi scegliere un valore nodePort per ServicePort HTTP.

Imposta questo campo sul valore nodePort.

Esempio:

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

Obbligatorio se loadBalancer.kind = ManualLB
Immutable
Numero intero
Precompilato: 30879

Il proxy in entrata in un cluster utente è esposto da un servizio di tipo LoadBalancer. Il servizio dispone di un ServicePort per HTTPS. Devi scegliere un valore nodePort per ServiceService HTTPS.

Imposta questo campo sul valore nodePort. Esempio:

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

Obbligatorio se loadBalancer.kind = ManualLB
Immutable
Numero intero
Precompilato: 30562

Il server API di 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
Immutable
Numero intero
Precompilato: 30563

Il server API di Kubernetes di un cluster utente viene eseguito nel cluster di amministrazione ed è esposto da un servizio di tipo LoadBalancer. Il server 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.manualLB.addonsNodePort

Rimuovi questo campo. Non viene utilizzato in un cluster utente.

loadBalancer.f5BigIP

Se imposti loadbalancer.kind su "f5BigIP", compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.

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 i cluster Anthos su VMware possono utilizzare per connettersi al bilanciatore del carico BIG-IP di F5.

L'account utente deve avere un ruolo utente che abbia autorizzazioni sufficienti per configurare e gestire il bilanciatore del carico. È sufficiente il ruolo Amministratore o Amministratore risorsa.

Per informazioni sull'aggiornamento delle credenziali BIG-IP di F5, consulta Aggiornamento delle 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 tuo file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account BIG-IP F5.

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 utilizzi la stringa SNAT

Il nome del pool SNAT.

Esempio:

loadBalancer:
  f5BigIP:
    snatPoolName: "my-snat-pool"

loadBalancer.seesaw

Se imposti loadbalancer.kind su "Seesaw", compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.

Per informazioni sulla configurazione del bilanciatore del carico di Seesaw, consulta la guida rapida del bilanciatore del carico di Seesaw e la pagina del bilanciamento del carico del bundle con Seesaw.

loadBalancer.seesaw.ipBlockFilePath

Obbligatorio se loadBalancer.kind = Seesaw
Immutable
Stringa

Il percorso del file di 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
Immutable
Numero intero
Valori possibili: 1 - 255
Precompilato: 0

L'identificatore del router virtuale della VM di 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
Immutable
Stringa

L'indirizzo IP virtuale configurato nella VM master Seesaw.

Esempio:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Obbligatorio se loadBalancer.kind = Seesaw
Modificabile
Numero intero
Precompilato: 4

Il numero di CPU per ciascuna delle tue VM Seesaw.

Esempio:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Obbligatorio se loadBalancer.kind = Seesaw
Modificabile
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 è 2^20 = 1.048.576 byte. Un megabyte corrisponde a 10^6 = 1.000.000 byte.

loadBalancer.seesaw.vCenter.networkName

Facoltativo
Immutable
String
Default: Uguali ai 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
Immutable
Pertinenza se loadBalancer.kind = Seesaw
Booleano
Precompilato: false
Valore predefinito: false

Se vuoi creare un bilanciatore del carico di Seesaw ad alta disponibilità, impostalo su true. In caso contrario, imposta questa opzione su false. Un bilanciatore del carico di Seesaw ad alta disponibilità utilizza una coppia (master, di backup) delle VM.

Esempio:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Facoltativo
Immutable
Pertinenza se loadBalancer.kind = Seesaw
Booleano
Precompilato: true
Valore predefinito: true

Se imposti questo valore su true, il bilanciatore del carico di Seesaw non utilizza l'apprendimento MAC per il failover. Utilizza invece l'ARP gratuito. Se imposti questo valore su false, il bilanciatore del carico di Seesaw utilizza l'apprendimento MAC. Ti consigliamo di impostarla 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

loadBalancer.metalLB

Se imposti loadbalancer.kind su "MetalLB", compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.

Per maggiori informazioni, consulta la pagina relativa al bilanciamento del carico in bundle con MetalLB.

loadBalancer.metalLB.addressPools

Obbligatorio se loadBalancer.kind = 'MetalLB`
Mutable

Array di oggetti, ciascuno dei quali contiene informazioni su un pool di indirizzi che il bilanciatore del carico MetalLB deve utilizzare.

loadBalancer.metalLB.addressPools[i].name

Obbligatorio se loadBalancer.kind = MetalLB
Modificabile
Stringa

Un nome scelto da te 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, ciascuna delle quali è un intervallo di indirizzi. Ogni intervallo deve essere in formato CIDR o 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: falso
Predefinito: falso

Se imposti questo valore su true, il controller MetalLB non assegnerà agli indirizzi IP gli indirizzi che terminano con .0 o .255. Questo consente di evitare il problema dei dispositivi consumer di bug che fanno perdere erroneamente il traffico inviato a questi 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: falso
Predefinito: falso

Se non vuoi che il controller MetalLB assegni automaticamente gli indirizzi IP da questo pool ai servizi, imposta questo valore su true. Quindi uno sviluppatore può creare un servizio di tipo LoadBalancer e specificare manualmente uno degli indirizzi del pool.

In caso contrario, imposta questa opzione su false.

Esempio:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      manualAssign: true

enableDataplaneV2

Facoltativo
Immutable
Booleano
Precompilato: false
Predefinito: false

Se vuoi abilitare Dataplane V2, imposta questo valore su true. In caso contrario, imposta questa opzione su false.

Esempio:

enableDataplaneV2: true

Per i passaggi di risoluzione dei problemi, consulta Risoluzione dei problemi di Dataplane V2.

multipleNetworkInterfaces

Facoltativo
Immutable
Booleano
Precompilato: false
Predefinito: false

Se vuoi abilitare più interfacce di rete per i pod, imposta questa opzione su true. In caso contrario, imposta questa opzione su false.

Per saperne di più, consulta Configurare più interfacce di rete per i pod.

Esempio:

multipleNetworkInterfaces: true

advancedNetworking

Facoltativo
Immutable
boolean
Precompilato: false
Predefinito: false

Se intendi creare un gateway NAT in uscita, impostalo su true. Altrimenti impostalo su false.

Se imposti questo campo su true, devi impostare anche enableDataplaneV2 su true.

Esempio:

advancedNetworking: true

enableWindowsDataplaneV2

Facoltativo
Modificabile
Booleano
Precompilato: falso
Predefinito: falso

Se vuoi abilitare Windows Dataplane V2 per un cluster con nodi Windows, imposta questa opzione su true. In caso contrario, imposta questa opzione su false.

Se enableWindowsDataplaneV2 è impostato su true, viene attivato il runtime containerizzato anziché il runtime Docker.

Esempio:

enableWindowsDataplaneV2: true

Per i passaggi di risoluzione dei problemi, consulta Risoluzione dei problemi di Dataplane V2. Consulta la guida dell'utente per i pool di nodi del sistema operativo Windows per configurare i pool di nodi contenenti i nodi del sistema operativo Windows Server.

storage.vSphereCSIDisabled

Se vuoi disabilitare il deployment dei componenti vSphere CSI, imposta questo valore su true. In caso contrario, imposta l'opzione su false.

Facoltativo
Modificabile
Booleano
Precompilato: falso
Predefinito: falso

Esempio:

storage:
  vSphereCSIDisabled: false

masterNode

Questa sezione contiene le informazioni sui nodi, nel cluster di amministrazione, che fungono da nodi del piano di controllo per questo cluster utente.

masterNode.cpus

Facoltativo
Modificabile
Intero
Precompilato: 4
Predefinito: 4

Il numero di CPU per ciascun nodo del cluster di amministrazione che funge da piano di controllo per questo cluster utente.

Esempio:

masterNode:
  cpus: 8

masterNode.memoryMB

Facoltativo
Modificabile
Intero
Precompilato: 8192
Predefinito: 8192

I mebibyte di memoria per ogni nodo del cluster di amministrazione 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 è 2^20 = 1.048.576 byte. Un megabyte è 10^6 = 1.000.000 byte.

masterNode.replicas

Facoltativo
Immutable
Intero
Valori possibili: 1 o 3
Precompilato: 1
Predefinito: 1

Il numero di nodi del piano di controllo per questo cluster utente. Una volta creato il cluster, questo numero non può essere modificato. Se vuoi aggiornare il numero di repliche in un secondo momento, devi ricreare il cluster utente.

I nodi del piano di controllo per il cluster utente si trovano nel cluster di amministrazione.

Esempio:

masterNode:
  replicas: 3

masterNode.autoResize.enabled

Facoltativo
Modificabile
Booleano
Precompilato: falso
Predefinito: falso

Imposta questo valore su true per abilitare il ridimensionamento automatico dei nodi del piano di controllo per il cluster utente. In caso contrario, imposta questa opzione su false.

I nodi del piano di controllo per il cluster utente si trovano nel cluster di amministrazione.

Per saperne di più, consulta Abilitare il ridimensionamento dei nodi per il piano di controllo di un cluster utente.

Esempio:

masterNode:
  autoResize:
    enabled: true

masterNode.vsphere.datastore

Facoltativo
Immutable
String
Default: 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"

nodePools

Obbligatorio
Mutable
Array di oggetti, ciascuno dei quali descrive un pool di nodi.

Per ulteriori informazioni, consulta Creazione e gestione dei pool di nodi.

nodePools[i].name

Obbligatorio
Immutable
Stringa

Un nome scelto da te per il pool di nodi. Il nome deve:

  • contengono al massimo 40 caratteri
  • contengono solo caratteri alfanumerici minuscoli o un trattino (-)
  • iniziare con un carattere alfabetico
  • terminano con un carattere alfanumerico

Esempio:

nodePools:
- name: "my-node-pool-1"

nodePools[i].cpus

Obbligatorio
Modificabile
Numero intero
Precompilato: 4

Il numero di vCPU per ogni 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 è 2^20 = 1.048.576 byte. Un megabyte è 10^6 = 1.000.000 byte.

nodePools[i].replicas

Obbligatorio
Mutable
Intero
Precompilato: 3
Valori possibili: il numero totale di nodi non integri in tutti i pool di nodi nell'array deve essere almeno 3.

Il numero di nodi nel pool.

Esempio:

nodePools:
- name: "my-node-pool"
  replicas: 5

nodePools[i].bootDiskSizeGB

Facoltativo
Modificabile
Intero
Precompilato: 40
Predefinito: 40

La dimensione del disco di avvio in gibibyte per ogni nodo nel pool.

Esempio:

nodePools
- name: "my-node-pool"
  bootDiskSizeGB: 40

nodePools[i].osImageType

Facoltativo
Mutable
Stringa
Valori possibili: "ubuntu", "ubuntu_containerd", "cos", "windows"
Precompilato: "ubuntu_containerd"
Valore predefinito: "ubuntu_containerd"

Il tipo di immagine del sistema operativo da eseguire sulle VM nel pool di nodi.

Esempio:

nodePools
- name: "my-node-pool"
  osImageType: "ubuntu_containerd"

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 ISO Windows Server 2019 con tag en-US per lingua/area geografica.

Per saperne di più, consulta la guida dell'utente per i pool di nodi del sistema operativo Windows Server.

nodePools[i].labels

Facoltativo
Modificabile
Mappatura

Etichette da applicare a ciascun oggetto nodo Kubernetes nel pool.

Esempio:

nodePools:
- name: "my-node-pool"
  labels:
    environment: "production"
    tier: "cache"

nodePools[i].taints

Facoltativo
Mutable
Array di oggetti, ognuno dei quali descrive un'incompatibilità.

Esempio:

nodePools:
- name: "my-node-pool"
  taints:
  - key: "staging"
    value: "true"
    effect: "NoSchedule"

nodePools[i].vsphere.datastore

Facoltativo
Modificabile
Stringa
Valore 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"

nodePools[i].vsphere.tags

Facoltativo
Mutable
Array di oggetti, ognuno dei quali descrive un tag vSphere da inserire 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 avere i seguenti privilegi di tagging vSphere:

  • Tagging vSphere.Assegna o annulla l'assegnazione del tag vSphere
  • Tagging vSphere.Assegna o annulla l'assegnazione del 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. Altrimenti, rimuovi questa sezione o escludila.

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: falso
Predefinito: falso

Imposta questo valore su true se vuoi consentire l'esecuzione dello speaker MetalLB sui nodi nel pool. In caso contrario, imposta l'opzione su false.

Per maggiori informazioni, consulta la pagina relativa al bilanciamento del carico in bundle con MetalLB.

Esempio:

nodePools:
- name: "my-node-pool"
  enableLoadBalancer: true

antiAffinityGroups.enabled

Facoltativo
Modificabile
Booleano
Precompilato: true

Imposta questo valore su true per abilitare la creazione di regole DRS. In caso contrario, imposta questa opzione su false.

Esempio:

antiAffinityGroups:
  enabled true

Se questo campo è true, Cluster Anthos su VMware crea regole anti-affinità Distributed Resource Scheduler (DRS) di VMware per i nodi del cluster utente, in modo da distribuirle in almeno tre host fisici del data center.

Questa funzionalità richiede che l'ambiente vSphere soddisfi le seguenti condizioni:

  • DRS VMware è abilitato. VMware DRS richiede l'edizione della licenza vSphere Enterprise Plus.

  • Il tuo account utente vSphere ha il privilegio Host.Inventory.Modify cluster.

  • Sono disponibili almeno quattro host fisici.

Anche se la regola richiede che i nodi del cluster siano distribuiti su tre host ESXi, consigliamo vivamente di averne almeno quattro. Questo ti impedisce 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 non riesce. La regola DRS impedisce che il nodo del piano di controllo venga posizionato su uno dei due host ESXi rimanenti.

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.

enableVMTracking

Anteprima
Facoltativo
Immutable
Precompilato: false

Imposta questo valore su true per abilitare il monitoraggio delle VM con i tag vSphere. In caso contrario, imposta l'opzione su false.

Per maggiori informazioni, consulta la pagina Abilitare il monitoraggio delle VM.

Esempio:

enableVMTracking: true

authentication

Questa sezione contiene informazioni sulla modalità di autenticazione e autorizzazione degli utenti del cluster.

authentication.oidc

Non utilizzare questa sezione. Dopo la creazione del cluster, modifica 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 pubblicazione aggiuntivo per il server API Kubernetes del cluster, compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.

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 e sull'account di servizio Google Cloud che vuoi utilizzare per registrare il cluster a un parco risorse Google Cloud.

gkeConnect.projectID

Obbligatorio
Immutable
Stringa

L'ID del tuo progetto host del parco risorse.

Esempio:

gkeConnect:
  projectID: "my-connect-project-123"

gkeConnect.registerServiceAccountKeyPath

Obbligatorio
Modificabile
Stringa

Il percorso del file della chiave JSON per il tuo account di servizio Connect-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 dell'account di servizio.

Esempio:

gkeConnect:
  registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"

stackdriver

Se vuoi abilitare Cloud Logging e Cloud Monitoring per il tuo cluster, compila questa sezione. In caso contrario, rimuovi questa sezione o escludila.

stackdriver.projectID

Obbligatorio per Logging e Monitoring
Immutable
Stringa

L'ID del tuo progetto di monitoraggio della registrazione. Questo è il progetto Cloud in cui visualizzerai log e metriche.

Esempio:

stackdriver:
  projectID: "my-logs-project"

stackdriver.clusterLocation

Obbligatorio per Logging e Monitoring
Immutable
String
Precompilato: "us-central1"

La regione Google Cloud in cui vuoi archiviare i log. È opportuno scegliere una regione vicina al data center on-premise.

Esempio:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Facoltativo
Immutable
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 con limitazioni di Google. In caso contrario, imposta questa opzione su false.

Esempio:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Obbligatorio per Logging e Monitoring
Modificabile
Stringa

Il percorso del file della chiave JSON per il tuo account di servizio di monitoraggio del logging.

Per aggiornare il valore di questo campo, utilizza gkectl update cluster.

Per informazioni sulla modifica della chiave dell'account di servizio di monitoraggio e logging, consulta Rotazione delle chiavi dell'account di servizio.

Esempio:

stackdriver:
  serviceAccountKeyPath: "my-key-folder/log-mon-key.json"

stackdriver.disableVsphereResourceMetrics

Facoltativo
Modificabile
Booleano
Precompilato: falso
Predefinito: falso

Imposta questo valore su true per disabilitare la raccolta delle metriche da vSphere. In caso contrario, imposta l'opzione su false.

Esempio:

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

Anteprima
Immutable
(Facoltativo)

Se vuoi abilitare la misurazione dell'utilizzo per il cluster, compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.

usageMetering.bigQueryProjectID

Anteprima
Obbligatorio per la misurazione dell'utilizzo
Immutable
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
Immutable
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
Immutable
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 degli account di servizio.

Esempio:

usageMetering:
  bigQueryServiceAccountKeyPath: "my-key-folder/bq-key.json"

usageMetering.enableConsumptionMetering

Anteprima
Obbligatorio per la misurazione dell'utilizzo
Immutable
Booleano
Precompilato: false

Imposta questo criterio su true se vuoi abilitare la misurazione basata sul consumo. In caso contrario, impostala su false.

Esempio:

usageMetering:
  enableConsumptionMetering: true

cloudAuditLogging

Se vuoi integrare gli audit log dal server API Kubernetes del cluster con Cloud Audit Logs, compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.

cloudAuditLogging.projectID

Obbligatorio per Cloud Audit Logs
Immutable
Stringa

L'ID del progetto Google Cloud in cui vuoi archiviare gli audit log.

Esempio:

cloudAuditLogging:
  projectID: "my-audit-project"

cloudAuditLogging.clusterLocation

Obbligatorio per Cloud Audit Logs
Immutable
Stringa

La regione di Google Cloud in cui vuoi archiviare gli audit log. È buona norma scegliere una regione vicina al data center on-premise

Esempio:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Obbligatorio per Cloud Audit Logs
Modificabile
Stringa

Il percorso del file della chiave JSON per l'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 dell'account di servizio.

Esempio:

cloudAuditLogging:
  serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

autoRepair.enabled

Facoltativo
Modificabile
Booleano
Precompilato: true

Imposta questo valore su true per abilitare la riparazione automatica dei nodi. In caso contrario, imposta l'opzione su false.

Esempio:

autoRepair:
  enabled: true

secretsEncryption

Se vuoi criptare i secret senza dover utilizzare un KMS esterno (Key Management Service) o altre dipendenze, compila questa sezione. Altrimenti, rimuovi questa sezione o escludila.

secretsEncryption.mode

Obbligatorio per la crittografia dei secret
Immutable
String
Valore possibile: "GenerateKey"
Precompilato: "GenerateKey"

La modalità di crittografia dei secret.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Obbligatorio per la crittografia dei secret
Modificabile
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.

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
Mutable
Booleano
Precompilato: false

Imposta questo criterio su true per disabilitare la crittografia dei secret. Altrimenti impostalo su false.

Per informazioni sull'aggiornamento di questo campo per un cluster esistente, consulta Crittografia dei secret sempre attivi.

Esempio:

secretsEncryption:
  generatedKey:
    disabled: false