File di configurazione del cluster utente

In questa pagina vengono descritti i campi nel file di configurazione del cluster utente VMware Cluster (GKE on-prem).

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. Inoltre, gkeadm ha compilato alcuni dei campi.

Se non hai usato 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 corrente.

VERSION: il numero di versione desiderato. Ad esempio: gkectl create-config cluster --gke-on-prem-version=1.9.0-gke.8.

Modello

Compilazione del file di configurazione

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

name

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

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

Ad esempio:

name: "my-user-cluster"

gkeOnPremVersion

Stringa. La versione di Cluster Anthos su VMware per il tuo cluster utente. Ad esempio:

gkeOnPremVersion: "1.9.0-gke.1"

vCenter

Se vuoi che tutti gli aspetti del tuo ambiente vCenter siano gli stessi che hai specificato per il cluster di amministrazione, rimuovi questa sezione o lasciala commentato.

Se vuoi che alcuni aspetti del tuo ambiente vCenter siano diversi da quelli specificati per il cluster di amministrazione, compila i campi pertinenti in questa sezione. Tutti i campi impostati qui nella sezione vCenter sostituiscono i campi corrispondenti nel file di configurazione del cluster di amministrazione.

vCenter.datacenter

Stringa. Il nome del data center vCenter per il tuo cluster utente. Se non è specificato, il cluster viene creato nel data center del cluster di amministrazione.

Ad esempio:

vCenter:
  datascenter: "MY-USER-DATACENTER"

Se specificato, devi includere anche i campi vCenter.datastore e vCenter.networkName e devi specificare vCenter.cluster o vCenter.resourcePool. Vedi Creare un cluster utente in un data center separato.

vCenter.resourcePool

Stringa. Il nome del pool di risorse vCenter per il tuo cluster utente. Se utilizzi un pool di risorse non predefinito, fornisci il nome del pool di risorse vCenter. Ad esempio:

vCenter:
  resourcePool: "MY-USER-POOL"

Se utilizzi il pool di risorse predefinito, fornisci il seguente valore:

vCenter:
  resourcePool: "VSPHERE_CLUSTER/Resources"

Sostituisci VSPHERE_CLUSTER con il nome del cluster vSphere.

Consulta Specificare il pool di risorse root per un host autonomo.

Se non specificato e se hai specificato vCenter.datacenter, devi fornire un valore per vCenter.cluster.

vCenter.datastore

Stringa. Il nome del datastore vCenter per il tuo cluster utente. Ad esempio:

vCenter:
  datastore: "MY-USER-DATASTORE"

vCenter.cluster

Stringa. Il nome del cluster vSphere.

Ad esempio:

vCenter:
  cluster: USER_VSPHERE_CLUSTER

Se vCenter.cluster non è specificato, devi specificare un valore per vCenter.resourcePool.

vCenter.folder

Stringa. Il nome della cartella in vCenter.datacenter`.

Ad esempio:

vCenter:
  folder: USER_FOLDER

vCenter.caCertPath

Stringa. Quando un client, come GKE On-Prem, invia una richiesta al tuo server vCenter, quest'ultimo deve dimostrare la propria identità al client presentando un certificato o un bundle di certificati. Per verificare il certificato o il bundle, GKE on-prem deve avere il certificato radice nella catena di attendibilità.

Imposta vCenter.caCertPath sul percorso del certificato radice. Ad esempio:

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

L'installazione di VMware ha un'autorità di certificazione (CA) che emette un certificato per il server vCenter. Il certificato radice nella catena di attendibilità è un certificato autofirmato creato da VMware.

Se non vuoi utilizzare VMWare, che è l'impostazione predefinita, puoi configurare VMware in modo che utilizzi un'autorità di certificazione diversa.

Se il server vCenter utilizza un certificato emesso dall'autorità di certificazione di VMware predefinita, scaricalo come segue:

curl -k "https://SERVER_ADDRESS/certs/download.zip" > download.zip

Sostituisci SERVER_ADDRESS con l'indirizzo del server vCenter.

Installa il comando unzip e decomprimi il file del certificato:

sudo apt-get install unzip
unzip downloads.zip

Se il comando unzip non funziona per la prima volta, inseriscilo di nuovo.

Cerca il file del certificato in certs/lin.

Se il certificato cambia, puoi aggiornare il riferimento al nuovo certificato.

vCenter.credentials.fileRef.path

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 avere il ruolo Amministratore o privilegi equivalenti. Consulta i requisiti di vSphere. Ad esempio:

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

vCenter.credentials.fileRef.entry

Stringa. Il nome del blocco delle credenziali, nel tuo file di configurazione delle credenziali, contenente il nome utente e la password del tuo account utente vCenter. Ad esempio:

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

vCenter.folder

Stringa. Il nome della cartella vCenter in cui si troveranno le VM del cluster. Ad esempio:

vCenter:
  folder: "MY-FOLDER"

network

Questa sezione contiene informazioni sulla rete del cluster utente.

network.hostConfig

In questa sezione sono riportate le informazioni sui server NTP, sui server DNS e sui domini di ricerca DNS utilizzati dal cluster.

Se hai fornito un valore per uno o entrambi i campi seguenti, compila questa sezione. Altrimenti, rimuovi questa sezione.

  • loadBalancer.seesaw.ipBlockFilePath
  • network.ipMode.ipBlockFilePath

network.hostConfig.dnsServers

Array di stringhe. Gli indirizzi dei server DNS che gli host devono utilizzare. Ad esempio:

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

network.hostConfig.ntpServers

Array di stringhe. Gli indirizzi dei server di tempo che gli host devono utilizzare. Ad esempio:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Array di stringhe. I domini di ricerca DNS utilizzabili dagli host. Questi domini vengono utilizzati come parte di un elenco di ricerca dei domini. Ad esempio:

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

network.ipMode.type

Stringa. Se vuoi che i nodi del cluster acquisiscano l'indirizzo IP da un server DHCP, imposta questo valore su "dhcp". Se vuoi che gli indirizzi IP statici dei nodi del cluster vengano scelti da un elenco da te fornito, imposta questo valore su "static". Ad esempio:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Se imposti ipMode.type su "static", compila questo campo. Se imposti ipMode.type su "dhcp", rimuovi questo campo.

Stringa. Il percorso del file di blocco IP per il tuo cluster. Ad esempio:

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

network.serviceCIDR e network.podCIDR

Stringhe. Il cluster utente deve avere un intervallo di indirizzi IP da utilizzare per i servizi e un intervallo di indirizzi IP da utilizzare per i pod. Questi intervalli sono specificati dai campi network.serviceCIDR e network.podCIDR. Questi campi vengono compilati con valori predefiniti. Se vuoi, puoi modificare i valori completati in valori di tua scelta.

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

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

Ad esempio, supponiamo che il tuo intervallo di servizi sia 10.96.232.0/24 e l'intervallo del pod sia 192.168.0.0/16. Tutto il traffico inviato da un pod a un indirizzo in uno di questi intervalli sarà considerato 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 bilanciatori del carico e dai nodi del piano di controllo

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

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

Di seguito è riportato un motivo per cui il consiglio consiglia di utilizzare indirizzi RFC 1918. Supponiamo che il tuo pod o intervallo di servizi contenga indirizzi IP esterni. Tutto il traffico inviato da un pod a uno di questi indirizzi esterni sarà considerato come traffico in-cluster e non raggiungerà la destinazione esterna.

Esempio:

network:
  serviceCIDR: "10.96.0.0/20"
  podCIDR: "192.168.0.0/16"

network.vCenter.networkName

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

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

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

Se il nome della rete non è univoco, è possibile specificare un percorso di rete, ad esempio /DATACenter/network/NETWORK_NAME.

Ad esempio:

network:
  vCenter:
    networkName: "MY-USER-CLUSTER-NETWORK"

loadBalancer

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

loadBalancer.vips.controlPlaneVIP

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

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.ingressVIP

L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il traffico in entrata. Ad esempio:

loadBalancer:
  vips:
    ingressVIP: "203.0.113.4"

loadBalancer.kind

Stringa. Imposta questo valore su "Seesaw", "F5BigIP" o "ManualLB". Ad esempio:

loadBalancer:
  kind: "Seesaw"

loadBalancer.manualLB

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

loadBalancer.manualLB.ingressHTTPNodePort

Numero intero. Il servizio in entrata in un cluster utente viene implementato come servizi Kubernetes di tipo LoadBalancer. Il servizio ha un servizio ServicePort per HTTP. Devi scegliere un valore nodePort per le ServicePort HTTP.

Imposta il valore di questo campo sul valore nodePort. Ad esempio:

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

Numero intero. Il servizio in entrata in un cluster utente è implementato come servizio di tipo LoadBalancer. Il servizio ha un ServicePort per HTTPS. Devi scegliere un valore nodePort per la porta servizio HTTPS.

Imposta il valore di questo campo sul valore nodePort. Ad esempio:

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

Numero intero. Il server API Kubernetes nel cluster di amministrazione è implementato come servizio di tipo NodePort. Devi scegliere un valore nodePort per il servizio.

Imposta il valore di questo campo sul valore nodePort. Ad esempio:

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.addonsNodePort

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

loadBalancer.f5BigIP

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

loadBalancer.f5BigIP.address

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

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.fileRef.path

Stringa. Il percorso di un file di configurazione delle credenziali che contiene il nome utente e la password di un account che i cluster Anthos su VMware possono utilizzare per connettersi al bilanciatore del carico BIG-IP di F5.

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

Esempio:

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

loadBalancer.f5BigIP.fileRef.entry

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

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

loadBalancer.f5BigIP.partition

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

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

loadBalancer.f5BigIP.snatPoolName

Stringa. Se utilizzi SNAT, il nome del pool SNAT. Se non usi SNAT, rimuovi questo campo o lascialo commentato. Ad esempio:

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

loadBalancer.seesaw

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

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

loadBalancer.seesaw.ipBlockFilePath

Stringa. Impostalo sul percorso del file di blocco IP per le tue VM di Seesaw. Ad esempio:

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

loadBalancer.seesaw.vrid

Numero intero. L'identificatore del router virtuale della tua VM di Seesaw. Questo identificatore, che è un numero intero a tua scelta, deve essere univoco in una VLAN. L'intervallo valido è 1-255. Ad esempio:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Stringa. L'indirizzo IP virtuale configurato nella tua VM Seesaw master. Ad esempio:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Numero intero. Il numero di CPU per ciascuna delle tue VM Seesaw. Ad esempio:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Numero intero. Il numero di mebibyte di memoria per ciascuna delle tue VM di Seesaw. Ad 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 è 10^6 = 1.000.000 byte.

loadBalancer.seesaw.vCenter.networkName

Stringa. Il nome della rete vCenter che contiene le VM di Seesaw. Ad esempio:

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

loadBalancer.seesaw.enableHA

Valore booleano. Se vuoi creare un bilanciatore del carico Seesaw ad alta disponibilità, impostalo su true. Altrimenti, imposta questa opzione su false. Un bilanciatore del carico di Seesaw ad alta disponibilità utilizza una coppia(principale, di backup) di VM. Ad esempio:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Valore booleano. Se imposti il valore true, il bilanciatore del carico di Seesaw non utilizza l'apprendimento MAC per il failover. Utilizza invece l'ARP gratuito. Se imposti il valore false, il bilanciatore del carico di Seesaw utilizza il machine learning. Ti consigliamo di impostarlo su true. Se utilizzi vSphere 7 o versioni successive e hai un bilanciatore del carico di Seesaw ad alta disponibilità, devi impostarlo su true. Ad esempio:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

enableDataplaneV2

Valore booleano. Se vuoi abilitare Dataplane V2, impostalo su true. Altrimenti, imposta questa opzione su false. Ad esempio:

enableDataplaneV2: true

Dataplane V2 è disponibile solo nei cluster utente.

Consulta la sezione Risoluzione dei problemi di Dataplane V2 per conoscere la procedura di risoluzione dei problemi.

enableWindowsDataplaneV2

Valore booleano. Anteprima.

Se vuoi abilitare Windows Dataplane V2 per un cluster con nodi Windows, impostalo su true. Altrimenti, imposta questa opzione su false. Ad esempio:

enableWindowsDataplaneV2: true

Windows Dataplane V2 è disponibile solo nei cluster utente.

Consulta la sezione Risoluzione dei problemi di Dataplane V2 per conoscere la procedura di risoluzione dei problemi. Consulta la Guida dell'utente per i pool di nodi del sistema operativo Windows Server per configurare i pool di nodi contenenti i nodi del sistema operativo Windows Server.

enableAnthosNetworkGateway

Valore booleano. Anteprima.

Se vuoi abilitare il gateway di rete Anthos, imposta questa opzione su true. In caso contrario, impostalo su false. Imposta questo valore su true se vuoi configurare un gateway NAT in uscita. Ad esempio:

enableAnthosNetworkGateway: true

masterNode

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

masterNode.vSphere.datastore

Stringa. Il datastore per il nodo del piano di controllo utente per questo cluster utente. Ad esempio:

masterNode:
   vsphere:
      datastore: USER_MASTER_DATASTORE

Per impostazione predefinita, se non è specificato, il valore predefinito sarà il datastore del cluster utente quando il cluster utente utilizzerà il data center del cluster di amministrazione.

Se il cluster utente utilizza un data center diverso, questo campo è obbligatorio e non viene applicato alcun valore predefinito.

masterNode.cpus

Numero intero. Il numero di CPU per ciascun nodo del cluster di amministrazione che funge da piano di controllo per questo cluster utente. Ad esempio:

masterNode:
  cpus: 8

masterNode.memoryMB

Numero intero. 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. Ad esempio:

masterNode:
  memoryMB: 8192

Nota: questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte è 2^20 = 1.048.576 byte. Un megabyte è 10^6 = 1.000.000 byte.

masterNode.replicas

Numero intero. Il numero di nodi del piano di controllo per questo cluster utente. Imposta questo campo su 1 o 3. Ad esempio:

masterNode:
  replicas: 3

masterNode.autoResize.enabled

Valore booleano. Imposta questo valore su true per consentire il ridimensionamento automatico dei nodi del piano di controllo per il cluster utente. Tieni presente che i nodi del piano di controllo per il cluster utente si trovano nel cluster di amministrazione. Ad esempio:

masterNode:
  autoResize:
    enabled: true

masterNode.vsphere.datastore

Stringa. Il datastore in cui verranno creati i nodi master. Ad esempio:

masterNode:
  vSphere:
    datastore: "MY-DATASTORE"

nodePools

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

nodePools[i].name

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

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

Ad esempio:

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

nodePools[i].cpus

Numero intero. Il numero di CPU per ogni nodo nel pool. Ad esempio:

nodePools"
- name: "my-node-pool"
  cpus: 8

nodePools[i].memoryMB

Numero intero. I mebibyte di memoria per ogni nodo nel pool. Deve essere un multiplo di 4. Ad esempio:

nodePools"
- name: "my-node-pool"
  memoryMB: 8192

Nota: questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte è 2^20 = 1.048.576 byte. Un megabyte è 10^6 = 1.000.000 byte.

nodePools[i].replicas

Numero intero. Il numero di nodi nel pool. Ad esempio:

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

nodePools[i].bootDiskSizeGB

Numero intero. La dimensione del disco di avvio in gigabyte per ogni nodo nel pool. Questa configurazione è disponibile a partire dai cluster Anthos su VMware versione 1.5.0. Ad esempio:

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

nodePools[i].osImageType

Stringa. Il tipo di immagine del sistema operativo da eseguire sulle VM nel pool di nodi. I valori possibili sono "ubuntu_containerd", "ubuntu" e "cos". Ad esempio:

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

nodePools[i].labels

Mappatura. Etichette da applicare a ogni nodo nel pool. Ad esempio:

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

nodePools[i].taints

Array di oggetti, ognuno dei quali descrive un'incompatibilità. Ad esempio:

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

nodePools[i].vsphere.datastore

Stringa. Nome del datastore vCenter su cui verrà creato ciascun nodo del pool. Ad esempio:

nodePools:
- name: "my-node-pool"
  vsphere:
    datastore: "my-datastore"

nodePools[i].vsphere.tags

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. Ad esempio:

nodePools:
- name: "my-node-pool"
  vsphere:
    tags:
    - category: "purpose"
      name: "testing"

Se vuoi collegare i tag a tutte le VM in un pool di nodi, il tuo account utente vCenter deve avere questi privilegi di codifica vSphere:

  • Tag vSphere.Assegna o annulla l'assegnazione del tag vSphere
  • Codifica vSphere.Assegna o annulla l'assegnazione di tag vSphere sull'oggetto (vSphere 7)

nodePools[i].autoscaling

Anteprima.

Se vuoi abilitare la scalabilità automatica per il pool di nodi, compila questa sezione. Altrimenti, rimuovi questa sezione.

nodePools[i].autoscaling.minReplicas

Numero intero. Il numero minimo di nodi che il gestore della scalabilità automatica può impostare per il pool. Deve essere almeno 1. Ad esempio:

nodePools:
- name: "my-node-pool"
  autoscaling:
    minReplicas: 5

nodePools.autoscaling.maxReplicas

Numero intero. Il numero massimo di nodi che il gestore della scalabilità automatica può impostare per il pool.

nodePools:
- name: "my-node-pool"
  autoscaling:
    maxReplicas: 10

antiAffinityGroups.enabled

Valore booleano. Imposta questo valore su true per attivare la creazione della regola DRS. In caso contrario, imposta su false. Ad esempio:

antiAffinityGroups:
  enabled true

I cluster Anthos su VMware creano automaticamente regole di anti-affinità Distributed Resource Scheduler (DRS) per i nodi del cluster utente, determinando la loro distribuzione in almeno tre host fisici del data center.

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

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

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

  • Sono disponibili almeno tre host fisici.

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

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

enableVMTracking

enableVMTracking: true

authentication

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

authentication.oidc

Non utilizzare questa sezione. Dopo la creazione del cluster, modifica la risorsa personalizzata ClientConfig come descritto in Configurare i 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. Altrimenti, rimuovi questa sezione o aggiungila come commento.

authentication.sni.certPath

Stringa. Il percorso di un certificato di gestione per il server API Kubernetes. Ad esempio:

authentication:
  sni:
    certPath: "my-cert-folder/example.com.crt"

authentication.sni.keyPath

Stringa. Percorso del file della chiave privata del certificato. Ad esempio:

authentication:
  sni:
    keyPath: "my-cert-folder/example.com.key"

stackdriver

Se vuoi abilitare Cloud Logging e Cloud Monitoring per il tuo cluster, compila questa sezione. Altrimenti, eliminalo o omettilo sul commento.

stackdriver.projectID

Stringa. L'ID del progetto Google Cloud in cui vuoi visualizzare i log. Ad esempio:

stackdriver:
  projectID: "my-logs-project"

stackdriver.clusterLocation

Stringa. L'area geografica di Google Cloud in cui vuoi archiviare i log. È buona norma scegliere un'area geografica vicina al data center on-premise. Ad esempio:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Valore booleano. Se la tua rete del cluster è controllata da un VPC, impostalo su questo campo sutrue. Ciò garantisce che tutto il servizio di telemetria passi attraverso gli indirizzi IP con restrizioni di Google. In caso contrario, imposta questo campo su false. Ad esempio:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Stringa. Il percorso del file della chiave JSON per il tuo account di servizio di monitoraggio dei log. Ad esempio:

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

stackdriver.disableVsphereResourceMetrics

Valore booleano. Imposta questo valore su true per disattivare la raccolta delle metriche da vSphere. In caso contrario, impostala su false. Ad esempio:

stackdriver:
  disableVsphereResourceMetrics: true

gkeConnect

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.

Questa sezione è obbligatoria.

gkeConnect.projectID

Stringa. L'ID del progetto host della flotta. Ad esempio:

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

gkeConnect.registerServiceAccountKeyPath

Stringa. Il percorso del file della chiave JSON per il tuo account di servizio Connect-register. Ad esempio:

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

usageMetering

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

usageMetering.bigQueryProjectID

Stringa. L'ID del progetto Google Cloud in cui vuoi archiviare i dati di misurazione dell'utilizzo. Ad esempio:

usageMetering:
  bigQueryProjectID: "my-bq-project"

usageMetering.bigQueryDatasetID

Stringa. L'ID del set di dati BigQuery in cui vuoi archiviare i dati di misurazione dell'utilizzo. Ad esempio:

usageMetering:
  bigQueryDatasetID: "my-bq-dataset"

usageMetering.bigQueryServiceAccountKeyPath

Stringa. Il percorso del file della chiave JSON per il tuo account di servizio BigQuery. Ad esempio:

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

usageMetering.enableConsumptionMetering

Valore booleano. Imposta questo valore su true se vuoi attivare la misurazione basata sul consumo. In caso contrario, imposta questo valore su false. Ad esempio:

usageMetering:
  enableConsumptionMetering: true

cloudAuditLogging

Se vuoi integrare gli audit log del tuo server API Kubernetes nel cluster con gli audit log di Cloud, compila questa sezione. Altrimenti, rimuovi questa sezione o lasciala commentato.

cloudAuditLogging.projectID

Stringa. L'ID del progetto Google Cloud in cui vuoi archiviare i log di controllo. Ad esempio:

cloudAuditLogging:
  projectID: "my-audit-project"

cloudAuditLogging.clusterLocation

Stringa. L'area geografica di Google Cloud in cui vuoi archiviare gli audit log. È buona norma scegliere un'area geografica vicina al data center on-premise. Ad esempio:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Stringa. Il percorso del file della chiave JSON per il tuo account di servizio di audit logging. Ad esempio:

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

autoRepair.enabled

Valore booleano. Imposta true per abilitare la riparazione automatica dei nodi. In caso contrario, impostala su false. Ad esempio:

autoRepair:
  enabled: true

secretsEncryption

Se vuoi criptare i secret senza bisogno di un KMS esterno (Key Management Service) o di qualsiasi altra dipendenza, assicurati di aver compilato questa sezione. Altrimenti, rimuovi o commenta questa sezione.

secretsEncryption.mode

Stringa. Modalità di crittografia del secret. Imposta questo valore su "GeneratedKey".

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Numero intero. Un numero intero di tua scelta da utilizzare per il numero di versione della chiave. Ti consigliamo di iniziare con 1. Ad esempio:

secretsEncryption:
  generatedKey:
    keyVersion: 1