File di configurazione del cluster di amministrazione 1.29

Questo documento descrive i campi nel file di configurazione del cluster di amministrazione per la versione 1.29 di Google Distributed Cloud.

Generazione di un modello per il file di configurazione

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

Se non hai utilizzato gkeadm per creare la workstation di amministrazione, puoi utilizzare gkectl per generare un modello per il file di configurazione del cluster di amministrazione.

Per generare un modello per il file di configurazione del cluster di amministrazione:

gkectl create-config admin --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION

Sostituisci OUTPUT_FILENAME con un percorso a tua scelta per il template generato. Se ometti questo flag, gkectl assegna al file il nome admin-cluster.yaml e lo inserisce nella directory corrente.

Sostituisci VERSION con la versione completa di una patch 1.29. Ad esempio: gkectl create-config admin --gke-on-prem-version=1.29.800-gke.108. Questa versione deve essere uguale o inferiore alla versione gkectl. Se ometti questo flag, il modello di configurazione generato viene compilato con valori basati sull'ultima patch 1.29.

Modello

Compilare il file di configurazione

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

name

(Facoltativo)
Stringa
Valore predefinito: un nome casuale che inizia con il prefisso "gke-admin-"

Un nome scelto da te per il cluster.

Esempio:

name: "my-admin-cluster"

bundlePath

Obbligatorio
Modificabile
Stringa

Il percorso del file del bundle Google Distributed Cloud.

Il file del bundle completo di Google Distributed Cloud contiene tutti i componenti di una determinata release di Google Distributed Cloud. Quando crei una workstation amministrativa, viene fornito un bundle completo all'indirizzo:

/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz

Esempio:

bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.10.0-gke.8.full.tgz"

preparedSecrets.enabled

Anteprima
Facoltativo
Immutabile
Booleano
Precompilato: false
Predefinito: false

Imposta questo valore su true se vuoi utilizzare credenziali preparate nel cluster di amministrazione. In caso contrario, impostalo su false.

Esempio:

preparedSecrets:
  enabled: true

vCenter

Obbligatorio
Immutabile

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

vCenter.address

Obbligatorio
Immutabile
Stringa

L'indirizzo IP o il nome host del server vCenter.

Per ulteriori informazioni, vedi Trovare l'indirizzo del server vCenter.

Esempi:

vCenter:
  address: "203.0.113.100"
vCenter:
  address: "my-vcenter-server.my-domain.example"

vCenter.datacenter

Obbligatorio
Immutabile
Stringa

Il percorso relativo di un data center vSphere.

Il valore specificato è relativo alla cartella principale denominata /.

Se il data center si trova nella cartella radice, il valore è il nome del data center.

Esempio:

vCenter:
  datacenter: "my-data-center"

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

Esempio:

vCenter:
  datacenter: "data-centers/data-center-1"

vCenter.cluster

Obbligatorio
Immutabile
Stringa

Il percorso relativo di un cluster vSphere che rappresenta gli host ESXi su cui verranno eseguite le VM del cluster di amministrazione. Questo cluster vSphere rappresenta un sottoinsieme degli host ESXi fisici nel tuo data center vCenter.

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

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

Esempio:

vCenter:
  cluster: "my-vsphere-cluster"

In caso contrario, il valore è un percorso relativo che include una o più cartelle insieme al nome del cluster vSphere.

Esempio:

vCenter:
  cluster: "clusters/vsphere-cluster-1"

vCenter.resourcePool

Obbligatorio
Immutabile
Stringa

Un pool di risorse vCenter per le VM del cluster di amministrazione.

Se vuoi utilizzare il pool di risorse predefinito, imposta questo valore su VSPHERE_CLUSTER/Resources.

Esempio:

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

Se vuoi utilizzare un pool di risorse che hai già creato, imposta questo valore sul percorso relativo del pool di risorse.

Il valore specificato è relativo a /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/

Se il pool di risorse è un elemento secondario diretto di /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ il valore è il nome del pool di risorse.

Esempio:

vCenter:
  resourcePool: "my-resource-pool"

In caso contrario, il valore è un percorso relativo con due o più pool di risorse.

Esempio:

vCenter:
  resourcePool: "resource-pool-1/resource-pool-2"

vCenter.datastore

Obbligatorio se vCenter.storagePolicyName non è specificato
Immutabile
Stringa

Il nome di un datastore vSphere per il cluster di amministrazione.

Il valore specificato deve essere un nome, non un percorso. Non includere cartelle nel valore.

Esempio:

vCenter:
  datastore: "my-datastore"

Devi specificare un valore per vCenter.datastore o vCenter.storagePolicyName, ma non per entrambi. Se specifichi un valore per questo campo, non specificare un valore per vCenter.storagePolicyName. Il campo vCenter.datastore è immutabile, tranne quando lo imposti su una stringa vuota quando migri un datastore a Storage Policy Based Management (SPBM).

vCenter.storagePolicyName

Obbligatorio se vCenter.datastore non è specificato
Immutabile
Stringa

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

Il cluster di amministrazione deve essere ad alta disponibilità (HA) per funzionare con le norme di archiviazione.

Per saperne di più, consulta Configurare una policy di archiviazione.

Devi specificare un valore per vCenter.datastore o vCenter.storagePolicyName, ma non per entrambi. Se specifichi un valore per questo campo, non specificare un valore per vCenter.datastore.

vCenter.caCertPath

Obbligatorio
Modificabile
Stringa

Il percorso del certificato CA per il server vCenter.

Per saperne di più, consulta Ottenere il certificato CA di vCenter.

Per informazioni sull'aggiornamento di questo campo per un cluster esistente, consulta Aggiorna i riferimenti ai certificati vCenter.

Esempio:

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"

vCenter.credentials.fileRef.path

Obbligatorio
Stringa

Il percorso di un file di configurazione delle credenziali che contiene il nome utente e la password del tuo account utente vCenter. L'account utente deve disporre del ruolo Amministratore o di privilegi equivalenti. Consulta i requisiti di vSphere.

Puoi utilizzare gkectl update per aggiornare questo campo in un cluster esistente.

Per informazioni su come aggiornare le credenziali vCenter, vedi Aggiornamento delle credenziali del cluster.

Esempio:

vCenter:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

vCenter.credentials.fileRef.entry

Obbligatorio
Stringa

Il nome del blocco delle credenziali nel tuo file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account utente vCenter.

Puoi utilizzare gkectl update per aggiornare questo campo in un cluster esistente.

Per informazioni su come aggiornare le credenziali vCenter, vedi Aggiornamento delle credenziali del cluster.

Esempio:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-creds"

vCenter.folder

(Facoltativo)
Immutabile
Stringa
Predefinito: la cartella a livello di data center

Il percorso relativo di una cartella vSphere che hai già creato. Questa cartella conterrà le VM del cluster di amministrazione.

Se non specifichi un valore, le VM del cluster di amministrazione verranno inserite in /.../DATA_CENTER/vm/.

Se specifichi un valore, questo è relativo a /.../DATA_CENTER/vm/.

Il valore può essere il nome di una cartella.

Esempio:

vCenter:
  folder: "my-folder"

In alternativa, il valore può essere un percorso relativo che include più di una cartella.

Esempio:

vCenter:
  folder: "folders/folder-1"

vCenter.dataDisk

Non fornire un valore per questo campo. Elimina il campo o lascialo commentato.

network

Obbligatorio
Immutabile

Questa sezione contiene informazioni sulla rete del cluster di amministrazione.

network.hostConfig

Obbligatorio
Immutabile

Questa sezione contiene informazioni su server NTP, server DNS e domini di ricerca DNS utilizzati dalle VM corrispondenti ai nodi del cluster.

network.hostConfig.dnsServers

Obbligatorio se la sezione network.hostConfig è compilata.
Immutabile
Array di stringhe.
Il numero massimo di elementi nell'array è tre.

Gli indirizzi dei server DNS delle VM.

Esempio:

network:
  hostConfig:
    dnsServers:
    - "172.16.255.1"
    - "172.16.255.2"

network.hostConfig.ntpServers

Obbligatorio se la sezione network.hostConfig è compilata.
Immutabile
Array di stringhe

Gli indirizzi dei server di sincronizzazione dell'ora da utilizzare per le VM.

Esempio:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Facoltativo
Immutabile
Array di stringhe

I domini di ricerca DNS utilizzabili dalle VM. Questi domini vengono utilizzati come parte di un elenco di ricerca di domini.

Esempio:

network:
  hostConfig:
    searchDomainsForDNS:
    - "my.local.com"

network.ipMode.type

Obbligatorio
Immutabile
Stringa
Precompilato: "static"
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 che fornisci, 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 blocco IP per il tuo cluster.

Esempio:

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

network.serviceCIDR

Obbligatorio
Immutabile
Stringa
Intervallo più piccolo possibile: /24
Intervallo più grande possibile: /12
Precompilato: "10.96.232.0/24"
Predefinito: "10.96.232.0/24"

Un intervallo di indirizzi IP, in formato CIDR, da utilizzare per i servizi nel cluster.

Esempio:

network:
  serviceCIDR: "10.96.232.0/24"

network.podCIDR

Obbligatorio
Immutabile
Stringa
Intervallo più piccolo possibile: /18
Intervallo più grande possibile: /8
Precompilato: "192.168.0.0/16"
Predefinito: "192.168.0.0/16"

Un intervallo di indirizzi IP, in formato CIDR, da utilizzare per i pod nel cluster.

Esempio:

network:
  podCIDR: "192.168.0.0/16"

L'intervallo di servizi non deve sovrapporsi all'intervallo di pod.

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

Ad esempio, supponiamo che l'intervallo di servizio sia 10.96.232.0/24 e l'intervallo di pod sia 192.168.0.0/16. Qualsiasi traffico inviato da un pod a un indirizzo in uno di questi intervalli verrà trattato come traffico 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 control plane e dai bilanciatori del carico

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

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

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

network.vCenter.networkName

Obbligatorio
Immutabile
Stringa

Il nome della rete vSphere per i nodi del cluster.

Esempio:

network:
  vCenter:
    networkName: "my-network"

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

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

Se il nome della rete non è univoco nel data center, puoi specificare un percorso completo.

Esempio:

network:
  vCenter:
    networkName: "/data-centers/data-center-1/network/my-network"

network.controlPlaneIPBlock

Obbligatorio

network.controlPlaneIPBlock.netmask

Obbligatorio
Immutabile
Stringa

La maschera di rete per la rete che contiene i nodi del control plane.

Esempio:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Obbligatorio
Immutabile
Stringa

L'indirizzo IP del gateway predefinito per i nodi del control plane.

Esempio:

network:
  controlPlaneIPBlock:
    gateway: "172.16.22.1"

network.controlPlaneIPBlock.ips

Obbligatorio
Immutabile
Array di tre oggetti, ognuno dei quali ha un indirizzo IP e un nome host facoltativo.

Questi sono gli indirizzi IP che verranno assegnati ai nodi del control plane.

Esempio:

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.22.6"
      hostname: "admin-cp-vm-1"
    - ip: "172.16.22.7"
      hostname: "admin-cp-vm-2"
    - ip: "172.16.22.8"
      hostname: "admin-cp-vm-3"

loadBalancer

Questa sezione contiene informazioni sul bilanciatore del carico per il cluster di amministrazione.

loadBalancer.vips.controlPlaneVIP

Obbligatorio
Immutabile
Stringa

L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il server API Kubernetes del cluster di amministrazione.

Esempio:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.kind

Obbligatorio
Immutabile
Stringa
Precompilato: "MetalLB"

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

Per attivare funzionalità nuove e avanzate, ti consigliamo di utilizzare "ManualLB" se hai un bilanciamento del carico di terze parti (ad esempio F5 BIG-IP o Citrix) o "MetalLB" per la nostra soluzione integrata.

Esempio:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Se imposti loadbalancer.kind su "ManualLB", compila questa sezione. In caso contrario, rimuovi questa sezione.
Immutabile

loadBalancer.manualLB.ingressHTTPNodePort

Rimuovi questo campo dal file di configurazione. Non viene utilizzato in un cluster amministrativo.

loadBalancer.manualLB.ingressHTTPSNodePort

Rimuovi questo campo dal file di configurazione. Non viene utilizzato in un cluster amministrativo.

loadBalancer.manualLB.konnectivityServerNodePort

Rimuovi questo campo dal file di configurazione. Non viene utilizzato in un cluster amministrativo.

loadBalancer.f5BigIP

Se imposti loadbalancer.kind su "f5BigIP", compila questa sezione. In caso contrario, rimuovi questa sezione.

Per attivare funzionalità nuove e avanzate, ti consigliamo di configurare il bilanciamento del carico manuale per il bilanciatore del carico F5 BIG-IP. Per abilitare il bilanciamento del carico manuale, imposta loadbalancer.kind su"ManualLB" e compila la sezione loadBalancer.manualLB. Per ulteriori informazioni, consulta Attivazione della modalità di bilanciamento del carico manuale.

Se hai un bilanciatore del carico F5-BIG-IP esistente e la configurazione del cluster utilizza questa sezione, dopo aver eseguito l'upgrade alla versione 1.29 o successive, ti consigliamo di eseguire la migrazione al bilanciamento del carico manuale.

loadBalancer.f5BigIP.address

Obbligatorio se loadBalancer.kind = "f5BigIp"
Immutabile
Stringa

L'indirizzo del bilanciatore del carico F5 BIG-IP. Ad esempio:

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

Obbligatorio se loadBalancer.kind = "f5BigIp"
Mutable
String

Il percorso di un file di configurazione delle credenziali che contiene il nome utente e la password di un account che Google Distributed Cloud può utilizzare per connettersi al bilanciatore del carico F5 BIG-IP.

L'account utente deve disporre di un ruolo utente con autorizzazioni sufficienti per configurare e gestire il bilanciamento del carico. È sufficiente il ruolo di amministratore o amministratore risorse.

Puoi utilizzare gkectl update per aggiornare questo campo in un cluster esistente.

Per informazioni su come aggiornare le credenziali F5 BIG-IP, vedi Aggiornamento delle credenziali del cluster.

Esempio:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        path: ""my-config-folder/admin-creds.yaml"

loadBalancer.f5BigIP.credentialsfileRef.entry

Obbligatorio se loadBalancer.kind = "f5BigIp"
Mutable
String

Il nome del blocco delle credenziali nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account F5 BIG-IP.

Puoi utilizzare gkectl update per aggiornare questo campo in un cluster esistente.

Per informazioni su come aggiornare le credenziali F5 BIG-IP, vedi Aggiornamento delle credenziali del cluster.

Esempio:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        entry: "f5-creds"

loadBalancer.f5BigIP.partition

Obbligatorio se loadBalancer.kind = "f5BigIp"
Immutabile
Stringa

Il nome di una partizione BIG-IP che hai creato per il cluster di amministrazione.

Esempio:

loadBalancer:
  f5BigIP:
    partition: "my-f5-admin-partition"

loadBalancer.f5BigIP.snatPoolName

(Facoltativo)
Pertinente se loadBalancer.kind = "f5BigIp"
Immutabile
Stringa

Se utilizzi SNAT, il nome del pool SNAT. Se non utilizzi SNAT, rimuovi questo campo.

Esempio:

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

loadBalancer.seesaw

Non utilizzare questa sezione. Il bilanciatore del carico Seesaw non è supportato per i nuovi cluster di amministrazione nella versione 1.28 e successive. Ti consigliamo invece di configurare il bilanciatore del carico MetalLB per i nuovi cluster di amministrazione. Per saperne di più sulla configurazione di MetalLB, consulta Bilanciamento del carico in bundle con MetalLB.

Sebbene supportiamo ancora Seesaw per i cluster di amministrazione non HA di cui è stato eseguito l'upgrade, ti consigliamo di eseguire la migrazione a MetalLB.

antiAffinityGroups.enabled

Facoltativo
Modificabile
Booleano
Precompilato: true

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

Esempio:

antiAffinityGroups:
  enabled: true

Se questo campo è true, Google Distributed Cloud crea regole anti-affinità VMware Distributed Resource Scheduler (DRS) per i nodi del cluster di amministrazione, in modo da distribuirli in almeno tre host ESXi fisici del data center.

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

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

  • Il tuo account utente vSphere dispone del privilegio Host.Inventory.Modify cluster.

  • Sono disponibili almeno quattro host ESXi.

Anche se la regola richiede che i nodi del cluster siano distribuiti su tre host ESXi, ti consigliamo vivamente di avere a disposizione almeno quattro host ESXi. In questo modo, il control plane del cluster di amministrazione non viene perso. Ad esempio, supponiamo che tu abbia solo tre host ESXi e che il nodo del control plane del cluster di amministrazione si trovi su un host ESXi che non funziona. La regola DRS impedirà il posizionamento del nodo del control plane su uno dei due host ESXi rimanenti.

Ricorda che se hai una licenza vSphere Standard, non puoi attivare VMware DRS.

Se non hai abilitato DRS o se non hai almeno quattro host in cui è possibile pianificare le VM vSphere, imposta antiAffinityGroups.enabled su false.

adminMaster

Immutabile

Impostazioni di configurazione per i nodi del control plane nel cluster di amministrazione.

adminMaster.cpus

Anteprima
Facoltativo
Immutabile
Numero intero
Precompilato: 4
Predefinito: 4

Il numero di vCPU per ciascun nodo del control plane nel cluster di amministrazione.

Esempio:

adminMaster:
  cpus: 4

adminMaster.memoryMB

Anteprima
Facoltativo
Immutabile
Numero intero
Precompilato: 16384
Predefinito: 16384

Il numero di mebibyte di memoria per ogni nodo del control plane nel cluster di amministrazione.

Esempio:

adminMaster:
  memoryMB: 16384

adminMaster.replicas

Obbligatorio per i nuovi cluster
Immutabile
Numero intero
Valori possibili: 3

Il numero di nodi del control plane nel cluster di amministrazione. Quando crei un nuovo cluster di amministrazione, imposta questo campo su 3 per creare un cluster di amministrazione ad alta disponibilità.

Esempio:

adminMaster:
  replicas: 3

proxy

Se la tua rete si trova dietro un server proxy, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata. Il server proxy specificato qui viene utilizzato dai cluster utente gestiti da questo cluster di amministrazione.
Immutabile

proxy.url

Obbligatorio se la sezione proxy è compilata.
Immutabile
Stringa

L'indirizzo HTTP del server proxy. Includi il numero di porta anche se è lo stesso della porta predefinita dello schema.

Esempio:

proxy:
  url: "http://my-proxy.example.local:80"

Il server proxy specificato qui viene utilizzato dai cluster Google Distributed Cloud. Inoltre, la workstation amministrativa viene configurata automaticamente per utilizzare questo stesso server proxy, a meno che tu non imposti la variabile di ambiente HTTPS_PROXY sulla workstation amministrativa.

Se specifichi proxy.url, devi specificare anche proxy.noProxy.

Una volta impostata la configurazione del proxy per il cluster di amministrazione, non può essere modificata o eliminata, a meno che il cluster non venga ricreato.

proxy.noProxy

Facoltativo
Immutabile
Stringa

Un elenco separato da virgole di indirizzi IP, intervalli di indirizzi IP, nomi host e nomi di dominio che non devono passare attraverso il server proxy. Quando Google Distributed Cloud invia una richiesta a uno di questi indirizzi, host o domini, la richiesta viene inviata direttamente.

Esempio:

proxy:
  noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"

privateRegistry

Un registro container privato è un registro in cui l'accesso alle immagini container è limitato agli utenti autenticati. Compila questa sezione se i tuoi cluster utente devono accedere alle immagini dei workload. Quando configuri la sezione privateRegistry, tutti i cluster utente gestiti da questo cluster di amministrazione recupereranno le immagini dei workload dal registro privato che configuri qui.

Se configuri la sezione privateRegistry, quando esegui gkectl prepare prima della creazione o dell'upgrade del cluster, gkectl esegue il push delle immagini di sistema di Google Distributed Cloud nel registro privato. Durante la creazione o l'upgrade del cluster, le immagini di sistema vengono estratte dal registro privato. Se non configuri la sezione privateRegistry, le immagini di sistema vengono estratte da gcr.io/gke-on-prem-release utilizzando l'account di servizio di accesso ai componenti.

Potresti voler configurare la sezione privateRegistry in modo che i cluster estraggano le immagini di sistema dal registro privato anziché da gcr.io/gke-on-prem-release nei seguenti casi:

  • Devi ridurre al minimo le connessioni a Google Cloud per motivi di sicurezza o requisiti normativi.
  • La tua organizzazione richiede che il traffico in uscita passi attraverso un server proxy e la velocità di rete per connettersi a Google Cloud è lenta.

Se vuoi utilizzare Artifact Registry di Google come registro privato, consulta Utilizzare Artifact Registry come registro privato per le immagini dei workload per i passaggi di configurazione.

privateRegistry.address

Obbligatorio per il registro privato
Immutabile
Stringa

L'indirizzo IP o il nome di dominio completo (FQDN) della macchina che esegue il tuo registro privato.

Esempi:

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

privateRegistry.credentials.fileRef.path

Obbligatorio per il registro privato
Modificabile
Stringa

Il percorso di un file di configurazione delle credenziali che contiene il nome utente e la password di un account che Google Distributed Cloud può utilizzare per accedere al tuo registro privato.

Esempio:

privateRegistry:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

privateRegistry.credentials.fileRef.entry

Obbligatorio per il registro privato
Modificabile
Stringa

Il nome del blocco delle credenziali nel tuo file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account del registro privato.

privateRegistry:
  credentials:
    fileRef:
      entry: "private-registry-creds"

privateRegistry.caCertPath

Obbligatorio per il registro privato
Modificabile
Stringa

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

Imposta questo campo sul percorso del certificato della CA.

Esempio:

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

componentAccessServiceAccountKeyPath

Obbligatorio
Modificabile
Stringa

Il percorso del file della chiave JSON per l'account di servizio di accesso ai componenti.

Esempio:

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

gkeConnect

Obbligatorio
Modificabile

Quando compili la sezione gkeConnect, il cluster di amministrazione viene registrato automaticamente in un parco risorse dopo la creazione. Questa sezione contiene informazioni sul progetto e sull'account di servizio necessari per registrare il cluster. Google Cloud

Durante la creazione o l'aggiornamento del cluster, nel cluster di amministrazione vengono configurati diversi criteri RBAC. Questi criteri RBAC sono necessari per poter creare cluster utente nella console Google Cloud .

gkeConnect.projectID

Obbligatorio
Immutabile
Stringa

L'ID del tuo progetto host del parco risorse. Per i nuovi cluster, questo ID progetto deve corrispondere 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 viene applicato ai cluster esistenti.

Esempio:

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

gkeConnect.location

Facoltativo
Immutabile
Stringa
Valore predefinito: global

L'appartenenza al parco risorse di ogni cluster è gestita dal servizio Fleet (gkehub.googleapis.com) e dal servizio Connect (gkeconnect.googleapis.com). La posizione dei servizi può essere globale o regionale. Nella versione 1.28 e successive, puoi specificare facoltativamente la regione Google Cloud in cui vengono eseguiti i servizi Fleet e Connect. Se non specificato, vengono utilizzate le istanze globali dei servizi. Tieni presente quanto segue:

  • I cluster di amministrazione creati prima della versione 1.28 sono gestiti dai servizi globali Fleet e Connect.

  • Per i nuovi cluster, se includi questo campo, la regione specificata deve essere la stessa 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 della chiave JSON per il tuo account di servizio connect-register�.

Esempio:

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

gkeOnPremAPI

Facoltativo

Nelle versioni 1.16 e successive, se l'API GKE On-Prem è abilitata nel tuo progettoGoogle Cloud , tutti i cluster del progetto vengono registrati automaticamente nell'API GKE On-Prem nella regione configurata in stackdriver.clusterLocation.

  • Se vuoi registrare tutti i cluster del progetto nell'API GKE On-Prem, assicurati di eseguire i passaggi descritti in Prima di iniziare per attivare e utilizzare l'API GKE On-Prem nel progetto.

  • Se non vuoi registrare il cluster nell'API GKE On-Prem, includi questa sezione e imposta gkeOnPremAPI.enabled su false. Se non vuoi registrare cluster nel progetto, disabilita gkeonprem.googleapis.com (il nome del servizio per l'API GKE On-Prem) nel progetto. Per le istruzioni, vedi Disabilitare i servizi.

La registrazione del cluster di amministrazione nell'API GKE On-Prem ti consente di utilizzare strumenti standard, ovvero la console, Google Cloud CLI o Terraform, per eseguire l'upgrade dei cluster utente gestiti dal cluster di amministrazione. Google Cloud La registrazione del cluster ti consente anche di eseguire comandi gcloud per ottenere informazioni sui tuoi cluster.

Dopo aver aggiunto questa sezione e creato o aggiornato il cluster di amministrazione, se successivamente 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 questa è abilitata nel tuo progetto. Imposta false se non vuoi registrare il cluster.

Dopo aver registrato il cluster nell'API GKE On-Prem, se devi annullare la registrazione, apporta la seguente modifica e poi aggiorna il cluster:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Immutabile
Stringa
Predefinito:stackdriver.clusterLocation

La Google Cloud regione 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 cloudAuditLogging.clusterLocation, gkeConnect.location e stackdriver.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.

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

Questa sezione è obbligatoria nel cluster di amministrazione se vuoi gestire il ciclo di vita dei cluster utente con i client API GKE On-Prem.

stackdriver.projectID

Obbligatorio per Logging e Monitoring
Immutabile
Stringa

L'ID del tuo progetto host del parco risorse. Per i nuovi cluster, questo ID progetto deve corrispondere 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 viene applicato ai cluster esistenti.

Se necessario, puoi configurare un router dei log in questo progetto per instradare i log nei bucket di log di un altro progetto. Per informazioni su come configurare il router di 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 instradare e archiviare le metriche di Cloud Monitoring. Ti consigliamo di scegliere una regione vicina al tuo data center on-premise.

Specifichi il routing e la posizione di archiviazione dei log di Cloud Logging nella configurazione del router dei log. Per saperne di più sul routing dei log, consulta la panoramica su routing e archiviazione.

L'operatore Stackdriver (stackdriver-operator) associa il valore di questo campo a ogni voce di log e metrica prima che vengano indirizzate a Google Cloud. Queste etichette allegate possono essere utili per filtrare i log e le metriche rispettivamente in Esplora log eMetrics Explorerhe.

Per i nuovi cluster, se includi le sezioni gkeOnPremAPI e cloudAuditLogging nel file di configurazione, la regione che imposti qui deve essere la stessa che imposti in cloudAuditLogging.clusterLocation, gkeConnect.location e gkeOnPremAPI.location. Se le regioni non sono le stesse, 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 questo valore sutrue. In questo modo, tutti i dati di telemetria vengono trasmessi tramite gli indirizzi IP con limitazioni di Google. In caso contrario, imposta questo valore su false.

Esempio:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Obbligatorio per logging e monitoraggio
Modificabile
Stringa

Il percorso del file della chiave JSON per l'account di servizio di logging e monitoraggio.

Per informazioni su come aggiornare questo campo in un cluster esistente, consulta la sezione Rotazione delle chiavi del service account.

Esempio:

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

stackdriver.disableVsphereResourceMetrics

Facoltativo
Modificabile
Pertinente per il logging e il monitoraggio
Booleano
Precompilato: false
Predefinito: false

Imposta questo valore su true per disabilitare la raccolta delle metriche da vSphere. In caso contrario, impostalo su false.

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

Esempio:

stackdriver:
  disableVsphereResourceMetrics: true

cloudAuditLogging

Se vuoi integrare gli audit log del server API Kubernetes del tuo cluster con Cloud Audit Logs, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata.
Mutable

Questa sezione è obbligatoria nel cluster di amministrazione se vuoi gestire il ciclo di vita dei cluster utente con i client API GKE On-Prem.

cloudAuditLogging.projectID

Obbligatorio per Cloud Audit Logs
Immutabile
Stringa

L'ID del tuo progetto host del parco risorse. Per i nuovi cluster, questo ID progetto deve corrispondere 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 viene applicato ai cluster esistenti.

Se necessario, puoi configurare un router dei log in questo progetto per instradare i log nei bucket di log di un altro progetto. Per informazioni su come configurare il router di 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 che imposti qui deve essere la stessa che imposti in gkeConnect.location, gkeOnPremAPI.location e stackdriver.clusterLocation. Se le regioni non sono le stesse, 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 della chiave JSON per l'account di servizio di audit logging.

Per informazioni su come aggiornare questo campo in un cluster esistente, consulta la sezione Rotazione delle chiavi del service account.

Esempio:

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

clusterBackup.datastore

Anteprima
Facoltativo
Modificabile
Stringa

Se vuoi abilitare il backup del cluster di amministrazione, imposta questo valore sul datastore vSphere in cui vuoi salvare i backup del cluster.

Esempio:

clusterBackup:
  datastore: "my-datastore"

autoRepair.enabled

Facoltativo
Modificabile
Booleano
Precompilato: true

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

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

Esempio:

autoRepair:
  enabled: true

secretsEncryption

Se vuoi criptare i secret senza la necessità di un KMS (Key Management Service) esterno o di altre dipendenze, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata.
Immutabile

secretsEncryption.mode

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

La modalità di crittografia 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.

Esempio:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Facoltativo per la crittografia dei secret
Modificabile
Booleano
Precompilato: false

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

Esempio:

secretsEncryption:
  generatedKey:
    disabled: false

osImageType

Facoltativo
Modificabile
Stringa
Valori possibili: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2"
Precompilato: "ubuntu_cgv2"
Predefinito: "ubuntu_containerd"

Il tipo di immagine del sistema operativo da eseguire sui nodi del cluster di amministrazione.

Esempio:

osImageType: "cos"