File di configurazione del cluster utente

Questa pagina descrive i campi nel file di configurazione del cluster utente GKE su VMware.

Generazione di un modello per il file di configurazione

Se hai utilizzato gkeadm per creare la workstation di amministrazione, gkeadm ha generato un modello per il file di configurazione del cluster utente. E gkeadm ha compilato alcuni dei campi per te.

Se non hai utilizzato gkeadm per creare la workstation di amministrazione, puoi utilizzare gkectl per generare un modello per il file di configurazione del cluster 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 sezioni seguenti.

name

Obbligatorio
Stringa

Un nome a tua scelta per il cluster utente. Il nome deve rispettare i seguenti requisiti:

  • Deve contenere al massimo 40 caratteri
  • Deve contenere solo caratteri alfanumerici minuscoli o un trattino (-)
  • iniziano con un carattere alfabetico
  • terminano con un carattere alfanumerico

Esempio:

name: "my-user-cluster"

gkeOnPremVersion

Obbligatorio
Modificabile
Stringa

La versione di GKE su VMware per il 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 commentato.

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 il 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. Altrimenti, impostala su false.

Esempio:

enableControlplaneV2: true

vCenter

Questa sezione contiene informazioni sul tuo ambiente vSphere e sulla tua connessione a vCenter Server.

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

Se vuoi che un campo sia diverso da quello specificato per il cluster di amministrazione, compilalo qui. 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 di vCenter Server che vuoi utilizzare per questo cluster utente.

Per maggiori informazioni, consulta Trovare l'indirizzo del server vCenter.

Se specifichi un valore diverso dall'istanza di vCenter Server utilizzata dal cluster di amministrazione, Controlplane V2 deve essere abilitato e devi fornire 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 o vCenter.storagePolicyName
  • vCenter.cluster o vCenter.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"

Altrimenti, il valore è un percorso relativo che include una o più cartelle insieme al nome del data center.

Esempio:

vCenter:
  datacenter: "data-centers/data-center-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 tuo data center vCenter.

Il valore specificato è relativo a /.../DATA_CENTER/vm/.

Se il cluster vSphere si trova nella cartella /.../DATA_CENTER/vm/, il valore è il nome del cluster vSphere

Esempio:

vCenter:
  cluster: "my-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 tuo pool di risorse è un elemento figlio diretto di /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/, il valore è il nome del pool di risorse.

Esempio:

vCenter:
  resourcePool: "my-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

Facoltativa
Stringa

Il nome di un criterio di archiviazione delle VM per i nodi cluster.

Puoi anche specificare un criterio di archiviazione delle VM per i nodi in un determinato pool di nodi. Ma 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
Impostazione predefinita: eredita dal cluster di amministrazione

Il percorso del certificato CA per il server vCenter. Per maggiori informazioni, consulta Recupero del 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 di vCenter.

vCenter.credentials.fileRef.path

Facoltativo
Modificabile
Stringa
Impostazione predefinita: eredita dal cluster di amministrazione

Se fornisci un valore per preparedSecrets.namespace, non fornire 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 disporre del ruolo Amministratore o di privilegi equivalenti. Consulta i requisiti di vSphere.

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

Per informazioni sull'aggiornamento delle credenziali vCenter, consulta Aggiornare le credenziali del cluster.

Esempio:

vCenter:
  credentials:
    fileRef:
      path: "my-config-directory/my-credentials-2.yaml"

vCenter.credentials.fileRef.entry

Facoltativo
Modificabile
Stringa
Impostazione predefinita: 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
Stringa
Valori possibili: una stringa intera o "più recente"
Valore predefinito: "latest"

Se fornisci un valore per preparedSecrets.namespace, compila questo campo. In caso contrario, rimuovi questo campo o lascialo commentato.

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, è 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
Impostazione predefinita: eredita dal cluster di amministrazione

Il percorso del file di chiavi 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 tuo cluster di amministrazione utilizza il registro privato e vuoi che il cluster utente utilizzi un registro privato diverso. In caso contrario, rimuovi questa sezione o escludila.

Se vuoi avere impostazioni diverse rispetto a quelle del cluster di amministrazione:

  • Nome utente, password, 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 registro Docker privato.

Esempi:

privateRegistry:
  address: "203.0.113.10"
privateRegistry:
  address: "fqdn.example.com"

privateRegistry.credentials.fileRef.path

Obbligatorio per il registro privato
Modificabile
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 GKE su VMware 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
Modificabile
Stringa
Predefinito: Eredita dal cluster di amministrazione

Il nome del blocco delle credenziali, presente nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account del registro Docker 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 numero intero o "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 non commentarlo.

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
Modificabile
Stringa
Predefinito: Eredita dal cluster di amministrazione

Quando Docker estrae un'immagine dal tuo registro privato, il registry deve dimostrare la sua identità presentando un certificato. Il certificato del registro è firmato da un'autorità di certificazione (CA). Docker usa il certificato della CA per convalidare il certificato del registro.

Imposta questo campo sul percorso del certificato CA.

Esempio:

privateRegistry:
  caCertPath: "my-cert-folder/registry-ca.crt"

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 tue VM di Seesaw.

Questa sezione è obbligatoria se si verificano una o più delle seguenti condizioni:

  • Il campo network.ipMode.type è impostato su static
  • enableControlplaneV2 è impostato su true o può essere impostato su true per impostazione predefinita.
  • Il campo loadBalancer.kind è impostato 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 temporali che le VM devono utilizzare.

Esempio:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Facoltativo
Immutabile
Array di stringhe

I domini di ricerca DNS 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: "dhcp"
Predefinito: "dhcp"

Se vuoi che i nodi del cluster ricevano l'indirizzo IP da un server DHCP, imposta questo valore su "dhcp". Se vuoi che i nodi del cluster abbiano indirizzi IP statici scelti da un elenco fornito da te, imposta questo valore su "static".

Esempio:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Obbligatorio se network.ipMode.type = static
Immutabile
Stringa

Il percorso del file di blocchi IP per il cluster.

Esempio:

network:
  ipMode:
    ipBlockFilePath: "/my-config-folder/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 almeno un intervallo /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 Service non deve sovrapporsi all'intervallo di pod.

Gli intervalli di servizi e pod non devono sovrapporsi ad alcun indirizzo esterno al cluster che vuoi raggiungere dall'interno del cluster.

Ad esempio, supponiamo che l'intervallo di servizi sia 10.96.232.0/24 e l'intervallo di pod sia 192.168.0.0/16. Tutto il traffico inviato da un pod a un indirizzo in uno di questi intervalli verrà trattato come in-cluster e non raggiungerà alcuna destinazione al di fuori del cluster.

In particolare, gli intervalli di servizi e pod non devono sovrapporsi a:

  • Indirizzi IP dei nodi in qualsiasi cluster

  • Indirizzi IP utilizzati dalle macchine del bilanciatore del carico

  • VIP utilizzati dai nodi del piano di controllo e dai bilanciatori del carico

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

Ti consigliamo di utilizzare gli intervalli di servizi e pod nello spazio di indirizzi RFC 1918.

Ecco uno dei motivi per cui si consiglia di utilizzare indirizzi RFC 1918. Supponiamo che il tuo intervallo di pod o servizi contenga indirizzi IP esterni. Tutto il traffico inviato da un pod a uno di questi indirizzi esterni verrà trattato come traffico nel cluster e non raggiungerà la destinazione esterna.

network.vCenter.networkName

Obbligatorio se vCenter.address è diverso dall'indirizzo vCenter che stai utilizzando 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
Segno 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 escludila.

Immutabile

Un array di oggetti, ognuno dei quali descrive un'interfaccia di rete che può essere utilizzata su tutti o alcuni 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 aggiuntivo.

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 di blocchi IP contenenti 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 escludila.

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
Non modificabile
Array di oggetti, ognuno dei quali ha un indirizzo IP e un nome host facoltativo.

Per un cluster utente ad alta disponibilità, l'array contiene 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

Obbligatorio
Immutabile
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
Immutabile
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
Immutabile
Stringa
Precompilato: "MetalLB"

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

Esempio:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Se imposti loadbalancer.kind su "manualLB", compila questa sezione. In caso contrario, rimuovi questa sezione o escludila.

loadBalancer.manualLB.ingressHTTPNodePort

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

Il proxy in entrata in un cluster utente è esposto da un servizi Kubernetes di tipo LoadBalancer. Il servizio ha una 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
Non modificabile
Numero intero
Precompilato: 30879

Il proxy in entrata in un cluster utente è esposto da un servizio di tipo LoadBalancer. Il servizio ha una 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 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 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 GKE su VMware può utilizzare per connettersi al bilanciatore del carico BIG-IP di F5.

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

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 BIG-IP di 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. In caso contrario, rimuovi questa sezione o escludila.

Nota. Vi sono delle limitazioni:

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

loadBalancer.seesaw.ipBlockFilePath

Obbligatorio se loadBalancer.kind = Seesaw
Immutabile
Stringa

Il percorso del file di blocchi IP per le VM di Seesaw.

Esempio:

loadBalancer:
  seesaw:
    ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"

loadBalancer.seesaw.vrid

Obbligatorio se loadBalancer.kind = Seesaw
Non modificabile
Numero intero
Valori possibili: 1 - 255
Precompilato: 0

L'identificatore del router virtuale della VM Seesaw. Questo identificatore, che è un numero intero a tua scelta, deve essere univoco in una VLAN.

Esempio:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Obbligatorio se loadBalancer.kind = Seesaw
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
Modificabile
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
Modificabile
Numero intero
Precompilato: 3072

Il numero di mebibyte di memoria per ciascuna delle tue 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
Immutabile
Stringa
Predefinito: uguale ai nodi del cluster

Il nome della rete vCenter che contiene le tue VM di Seesaw.

Esempio:

loadBalancer:
  seesaw:
    vCenter:
      networkName: "my-seesaw-network"

loadBalancer.seesaw.enableHA

Facoltativo
Immutabile
Rilevante se loadBalancer.kind = Seesaw
Booleano
Precompilato: false
Predefinito: false

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

Esempio:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Facoltativo
Immutabile
Rilevante se loadBalancer.kind = Seesaw
Booleano
Precompilato: true
Predefinito: true

Se lo imposti su true, il bilanciatore del carico di Seesaw non utilizza l'apprendimento MAC per il failover. Al contrario, utilizza un ARP gratuito. Se lo imposti su false, il bilanciatore del carico di Seesaw utilizza l'apprendimento MAC. Ti consigliamo di impostare questa opzione su true. Se utilizzi vSphere 7 o versioni successive e hai un bilanciatore del carico di Seesaw ad alta disponibilità, devi impostarlo su true.

Esempio:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

loadBalancer.metalLB

Se imposti loadbalancer.kind su "MetalLB", compila questa sezione. In caso contrario, rimuovi questa sezione o escludila.

Per ulteriori informazioni, consulta Bilanciamento del carico in bundle con MetalLB.

loadBalancer.metalLB.addressPools

Obbligatorio se loadBalancer.kind = "MetalLB"
Muibile

Array di oggetti, ciascuno 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, ciascuna delle quali è un intervallo di indirizzi. Ogni intervallo deve essere in formato CIDR o 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
Rilevante se loadBalancer.kind = MetalLB
Modificabile
Booleano
Precompilato: false
Predefinito: false

Se la imposti su true, il controller MetalLB non assegnerà indirizzi IP che terminano con .0 o .255 ai servizi. In questo modo eviterai il problema dei dispositivi consumer con bug che causano erroneamente l'interruzione del 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
Rilevante se loadBalancer.kind = MetalLB
Modificabile
Booleano
Precompilato: false
Predefinito: false

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

In caso contrario, impostalo 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, impostalo su true. In caso contrario, impostalo su false.

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 è abilitato Dataplane V2.

Con la modalità SNAT (Network Address Translation), un pacchetto viene tradotto da SNAT quando viene inoltrato da un nodo del bilanciatore del carico a un pod di backend. Il pod non può visualizzare l'indirizzo IP di origine originale e il pacchetto di ritorno 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 di ritorno arriva 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, impostalo 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. Altrimenti, impostala su false.

Facoltativo
Booleano
Modificabile
Precompilato: false
Predefinito: false

Esempio:

disableBundledIngress: true

storage.vSphereCSIDisabled

Se vuoi disabilitare il deployment dei componenti CSI vSphere, imposta questo valore su true. Altrimenti, impostala su false.

Facoltativo
Modificabile
Booleano
Precompilato: false
Predefinito: false

Esempio:

storage:
  vSphereCSIDisabled: false

masterNode

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

masterNode.cpus

Facoltativo
Modificabile
Numero intero
Precompilato: 4
Predefinito: 4

Il numero di CPU per ogni nodo del cluster di amministrazione 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 ciascun 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 corrisponde a 10^6 = 1.000.000 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.

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

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

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

Per maggiori 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
Modificabile
Array di oggetti, ognuno dei quali descrive un pool di nodi.

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

nodePools[i].name

Obbligatorio
Immutabile
Stringa

Un nome scelto da te per il pool di nodi. Il nome deve rispettare i seguenti requisiti:

  • Deve contenere al massimo 40 caratteri
  • Deve contenere solo caratteri alfanumerici minuscoli o un trattino (-)
  • iniziano con un carattere alfabetico
  • terminano 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 rimangano 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: 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 è 2^20 = 1.048.576 byte. Un megabyte corrisponde a 10^6 = 1.000.000 byte.

nodePools[i].replicas

Obbligatorio
Modificabile
Numero intero
Precompilato: 3
Valori possibili: il numero totale di nodi non incompatibili in tutti i pool di nodi nel 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

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
Modificabile
Stringa
Valori possibili: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2", "windows"
Precompilato: "ubuntu_containerd"
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 ISO di Windows Server 2019 con il tag lingua/regione en-US.

Per ulteriori informazioni, 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"

Per motivi di sicurezza, il kubelet non può applicare etichette a se stesso in determinati spazi dei nomi.

Gli spazi dei nomi delle etichette dei nodi riservati sono : kubernetes.io, k8s.io, googleapis.com.

nodePools[i].taints

Facoltativo
Modificabile
Array di oggetti, ognuno dei quali descrive un' incompatibilità 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 delle 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 tuo cluster per l'utilizzo dell'affinità host VM.

Facoltativo
Modificabile
Array di stringhe, ognuna delle quali è il nome di un gruppo DRS host.

L'array può avere un solo elemento.

Esempio:

nodePools:
- name: "my-node-pool"
  vsphere:
    hostgroups:
    - "my-hostgroup"

nodePools[i].vsphere.tags

Facoltativo
Modificabile
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 tag a tutte le VM in un pool di nodi, il tuo account utente vCenter deve avere questi privilegi per il tagging vSphere:

  • vSphere Tagging.Assign o Annulla assegnazione del tag vSphere
  • vSphere Tagging.Assign o Annulla 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 escludila.

nodePools[i].autoscaling.minReplicas

Facoltativo
Modificabile
Numero intero
Valori possibili: maggiori o uguali 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
Rilevante se loadBalancer.kind = "MetalLB"
Modificabile
Booleano
Precompilato: true
Predefinito: false

Imposta questo valore su true se vuoi consentire l'esecuzione dell'altoparlante MetalLB sui nodi del pool. Altrimenti, 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
Valore predefinito: 1

Il numero massimo di macchine nel pool di nodi che può essere aggiornato contemporaneamente durante un aggiornamento o un upgrade.

nodePools:
- name: "my-node-pool"
  updateStrategy:
    rollingUpdate:
      maxSurge: 3

antiAffinityGroups.enabled

Facoltativo
Modificabile
Booleano
Precompilato: true

Imposta questo valore su true per attivare la creazione di regole DRS. In caso contrario, impostalo su false.

Esempio:

antiAffinityGroups:
  enabled: true

Se questo campo è true, GKE su VMware crea regole di anti-affinità VMware Distributed Resource Scheduler (DRS) per i nodi del cluster utente, in modo che siano distribuite su almeno tre host ESXi fisici nel data center.

Questa funzionalità richiede che il tuo ambiente vSphere soddisfi le seguenti condizioni:

  • VMware DRS è abilitato. VMware DRS richiede la versione di licenza vSphere Enterprise Plus.

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

  • Sono disponibili almeno quattro host ESXi.

Anche se la regola richiede che i nodi del cluster siano distribuiti tra tre host ESXi, consigliamo vivamente di disporre di almeno quattro host ESXi.

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
Immutabile
Precompilato: false

Imposta questo valore su true per abilitare il monitoraggio delle VM con i tag vSphere. Altrimenti, impostala su false.

Per maggiori 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 alla volta. Il valore 1 specifica che è possibile aggiornare un pool di nodi alla volta. Un 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
Valore 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 e autorizzati.

authentication.oidc

Non utilizzare 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


Se vuoi fornire un certificato di pubblicazione aggiuntivo per il server API Kubernetes del cluster, compila questa sezione. In caso contrario, rimuovi questa sezione o non commentarla.

authentication.sni.certPath

Facoltativa
Stringa

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

Facoltativa
Stringa

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 che vuoi utilizzare per registrare il cluster in un parco risorse Google Cloud.

gkeConnect.projectID

Obbligatorio
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 stackdriver.projectID e cloudAuditLogging.projectID. Se gli ID progetto non sono uguali, la creazione del cluster non va a buon fine. 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 Service (gkehub.googleapis.com) e dal servizio Connect (gkeconnect.googleapis.com). La località dei servizi può essere globale o regionale. Nella versione 1.28 e successive, puoi specificare facoltativamente l'area geografica Google Cloud in cui vengono eseguiti il parco risorse e i servizi Connect. Se non specificato, vengono utilizzate le istanze globali dei servizi. Tieni presente quanto segue:

  • I cluster utente creati prima della versione 1.28 sono gestiti dai servizi globali del parco risorse e di Connect.

  • I nuovi cluster creati utilizzando i client 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 corrispondere a quella configurata in cloudAuditLogging.clusterLocation, stackdriver.clusterLocation e gkeOnPremAPI.location. Se le regioni non sono uguali, la creazione del cluster non va a buon fine.

Esempio:

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

Obbligatorio
Modificabile
Stringa

Il percorso del file di chiave JSON per il tuo account di servizioconnect-registra.

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

Per informazioni su come modificare la chiave dell'account di servizio Connect-Registration, consulta Rotazione delle chiavi degli account di servizio.

Esempio:

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

gkeConnect.registerServiceAccountKey.secretRef.version

Obbligatorio se utilizzi credenziali preparate
Modificabili
Stringa
Valori possibili: una stringa numero intero o "più recente"
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-registra.

Esempio:

gkeConnect:
  registerServiceAccountKey:
    secretRef:
      version: "1"

gkeOnPremAPI


Nella versione 1.16 e successive, se l'API GKE On-Prem è abilitata nel tuo progetto Google Cloud, tutti i cluster che lo compongono 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 seguire 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 su false. Se non vuoi registrare alcun cluster nel progetto, disabilita gkeonprem.googleapis.com (il nome del servizio per l'API GKE On-Prem) nel progetto. Per le istruzioni, consulta Disabilitazione dei 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 ricevere informazioni sul cluster utente.

Dopo aver aggiunto questa sezione e aver 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 viene 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 aver registrato il cluster nell'API GKE On-Prem, se devi annullarne la registrazione, apporta la modifica seguente e poi aggiorna il cluster:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Obbligatorio se è inclusa la sezione gkeOnPremAPI.
Immutabile
Stringa
Predefinito: stackdriver.clusterLocation

La regione Google Cloud in cui l'API GKE On-Prem viene eseguita 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
Modificabile

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

Questa sezione è obbligatoria per impostazione predefinita. In altre parole, se non includi questa sezione, devi includere il flag --skip-validation-stackdriver quando esegui gkectl create cluster.

Questa sezione è obbligatoria nel cluster utente se vuoi gestire il ciclo di vita dei cluster utente nella console Google Cloud.

stackdriver.projectID

Richiesto per Logging e Monitoring
Stringa
immutabile

L'ID del tuo progetto host del parco risorse. 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 non va a buon fine. Questo requisito non si applica ai cluster esistenti.

Se necessario, puoi configurare un router dei log in questo progetto per eseguire il routing dei log nei bucket di log di un altro progetto. Per informazioni su come configurare il router dei log, consulta Destinazioni supportate.

Esempio:

stackdriver:
  projectID: "my-fleet-host-project"

stackdriver.clusterLocation

Obbligatorio per Logging e Monitoring
Immutabile
Stringa
Precompilato: "us-central1"

La regione Google Cloud in cui vuoi archiviare i log. È una buona idea scegliere un'area geografica vicina al tuo data center on-premise.

Per i nuovi cluster, se includi le sezioni gkeOnPremAPI e cloudAuditLogging nel file di configurazione, la regione impostata qui deve essere la stessa che hai impostato in gkeConnect.location, gkeOnPremAPI.location e cloudAuditLogging.clusterLocation. Se le regioni non sono uguali, la creazione del cluster non va a buon fine.

Esempio:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Facoltativo
Immutabile
Booleano
Precompilato: false

Se la rete del cluster è controllata da un VPC, imposta l'opzione su true. In questo modo tutti i dati di telemetria passano attraverso gli indirizzi IP limitati di Google. In caso contrario, impostalo su false.

Esempio:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Richiesti per Logging e Monitoring
Modificabile
Stringa

Il percorso del file di chiave JSON per l'account di servizio di logging-monitoring.

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

Per informazioni sulla modifica della chiave dell'account di servizio per il monitoraggio del logging, consulta Rotazione delle chiavi degli account di servizio.

Esempio:

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

stackdriver.serviceAccountKey.secretRef.version

Obbligatorio se utilizzi credenziali preparate
Modificabili
Stringa
Valori possibili: una stringa numero intero 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 monitoraggio del logging.

Esempio:

stackdriver:
  serviceAccountKey:
    secretRef:
      version: "1"

stackdriver.disableVsphereResourceMetrics

Facoltativo
Modificabile
Booleano
Precompilato: false
Predefinito: false

Imposta questo elemento su true per disattivare la raccolta di metriche da vSphere. Altrimenti, impostala su false.

Esempio:

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

Anteprima
Immutabile
Facoltativo

Se vuoi abilitare la misurazione dell'utilizzo per il tuo cluster, compila questa sezione. In caso contrario, rimuovi questa sezione o escludila.

usageMetering.bigQueryProjectID

Anteprima
Necessaria per la misurazione dell'utilizzo
Immutabile
Stringa

L'ID del progetto Google Cloud in cui vuoi archiviare i dati del monitoraggio dell'utilizzo.

Esempio:

usageMetering:
  bigQueryProjectID: "my-bq-project"

usageMetering.bigQueryDatasetID

Anteprima
Necessaria 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
Richiesta per il monitoraggio dell'utilizzo
Stringa
immutabile.

Il percorso del file di chiavi 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.bigQueryServiceAccountKey.secretRef.version

Obbligatorio se utilizzi credenziali preparate
Modificabili
Stringa
Valori possibili: una stringa numero intero o "più recente"
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
Richiesta per la misurazione dell'utilizzo
Immutabile
Booleano
Precompilato: false

Impostalo su true se vuoi abilitare il monitoraggio basato sul consumo. In caso contrario, impostalo 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 escludila.

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 non va a buon fine. Questo requisito non si applica ai cluster esistenti.

Se necessario, puoi configurare un router dei log in questo progetto per eseguire il routing dei log nei bucket di log di un altro progetto. Per informazioni su come configurare il router dei log, consulta 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. È una buona idea scegliere una regione vicina al tuo data center on-premise

Per i nuovi cluster, se includi le sezioni gkeOnPremAPI e stackdriver nel file di configurazione, la regione impostata qui deve corrispondere a quella che hai impostato in gkeConnect.location, gkeOnPremAPI.location e stackdriver.clusterLocation. Se le regioni non sono uguali, la creazione del cluster non va a buon fine.

Esempio:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Obbligatorio per Cloud Audit Logs
Modificabile
Stringa

Il percorso del file di chiave JSON dell'account di servizio di audit logging.

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

Per informazioni sulla modifica della chiave dell'account di servizio per l'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

Impostalo su true per abilitare la riparazione automatica dei nodi. Altrimenti, 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 escludila.

secretsEncryption.mode

Obbligatorio per la crittografia dei secret
Immutabile
Stringa
Valore possibile: "GeneratedKey"
Precompilato: "GeneratedKey"

La modalità di crittografia dei secret.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Obbligatorio per la crittografia dei secret
Mutable
Numero intero
Precompilato: 1

Un numero intero a tua scelta da utilizzare per il numero di versione della chiave. Ti consigliamo di iniziare con 1.

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

Esempio:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Facoltativo per la crittografia dei secret
Mutable
Booleano
Precompilato: false

Imposta questo valore su true per disattivare la crittografia dei secret. In caso contrario, impostala su false.

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

Esempio:

secretsEncryption:
  generatedKey:
    disabled: false