In questa pagina vengono descritti i campi nel file di configurazione del cluster di amministrazione.
Generazione di un modello per un file di configurazione in corso...
Se hai utilizzato gkeadm
per creare la tua workstation di amministrazione, gkeadm
ha generato
un modello per il file di configurazione del cluster di amministrazione. Inoltre, gkeadm
ha compilato alcuni dei campi per te.
Se non hai utilizzato gkeadm
per creare la tua workstation di amministrazione, puoi utilizzare gkectl
per generare un modello per il file di configurazione del cluster di amministrazione.
Per generare un modello per il file di configurazione del cluster di amministrazione:
gkectl create-config admin --config=OUTPUT_FILENAME
Sostituisci OUTPUT_FILENAME
con un percorso a tua scelta per il modello generato. Se ometti questo flag gkectl
, assegna un nome al file admin-cluster.yaml
e lo inserisce nella directory attuale.
Modello
Compilazione del file di configurazione
Nel file di configurazione, inserisci i valori dei campi come descritto nelle sezioni seguenti.
bundlePath
Stringa. Il percorso del tuo file bundle on-prem di GKE.
Il file del bundle completo di GKE On-Prem contiene tutti i componenti di una determinata release di GKE On-Prem. Quando crei una workstation di amministrazione, viene fornito con un bundle completo di:
/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz
Ecco alcuni esempi:
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.5.2-gke.3-full.tgz"
vCenter
Questa sezione contiene informazioni sull'ambiente vCenter.
vCenter.address
Stringa. L'indirizzo IP o il nome host del tuo server vCenter.
Prima di compilare il campo address
, scarica e controlla il certificato di pubblicazione del server vCenter. Inserisci questo comando per scaricare il certificato e salvarlo in un file denominato vcenter.pem
.
true | openssl s_client -connect VCENTER_IP:443 -showcerts 2>/dev/null | sed -ne '/-BEGIN/,/-END/p' > vcenter.pem
Sostituisci VCENTER_IP
con l'indirizzo IP del tuo server vCenter.
Apri il file del certificato per vedere il nome comune del soggetto e il nome alternativo dell'oggetto:
openssl x509 -in vcenter.pem -text -noout
L'output mostra il Common Name (CN) Subject
. Potrebbe essere un indirizzo IP o un nome host. Ecco alcuni esempi:
Subject: ... CN = 203.0.113.100
Subject: ... CN = my-vcenter-server.my-domain.example
L'output potrebbe includere anche uno o più nomi DNS in
Subject Alternative Name
:
X509v3 Subject Alternative Name: DNS:vcenter.my-domain.example
Scegli il nome comune Subject
o uno dei nomi DNS in Subject Alternative Name
da utilizzare come valore di vcenter.address
nel file di configurazione. Ecco alcuni esempi:
vCenter: address: "203.0.113.100"
vCenter: address: "my-vcenter-server.my-domain.example"
vCenter.datacenter
Stringa. Il nome del tuo data center vCenter. Ecco alcuni esempi:
vCenter: datacenter: "MY-DATACENTER"
vCenter.cluster
Stringa. Il nome del tuo cluster vCenter. Ecco alcuni esempi:
vCenter: cluster: "MY-CLUSTER"
vCenter.resourcePool
Stringa. Il nome del pool di risorse vCenter. Ecco alcuni esempi:
Se utilizzi un pool di risorse non predefinito, fornisci il nome del pool di risorse vCenter. Ecco alcuni esempi:
vCenter: resourcePool: "MY-POOL"
Se utilizzi il pool di risorse predefinito, fornisci il seguente valore:
vCenter: resourcePool: "VCENTER_CLUSTER/Resources"
Sostituisci VCENTER_CLUSTER
con il nome del tuo cluster vCenter.
vCenter.datastore
Stringa. Il nome del tuo datastore vCenter. Ecco alcuni esempi:
vCenter: datastore: "MY-DATASTORE"
Vedi Specificare il pool di risorse principali per un host autonomo.
vCenter.caCertPath
Stringa. Quando un client, come GKE On-Prem, invia una richiesta al tuo server vCenter, il server 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. Ecco alcuni esempi:
vCenter: caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"
La tua installazione VMware ha un'autorità di certificazione (CA) che emette un certificato per il server vCenter. Il certificato radice nella catena di trust è un certificato autofirmato creato da VMware.
Se non vuoi utilizzare VMWare, che è l'impostazione predefinita, puoi configurare VMware in modo da utilizzare un'autorità di certificazione diversa.
Se il server vCenter utilizza un certificato emesso dalla CA VMware predefinita, scarica il certificato nel seguente modo:
curl -k "https://SERVER_ADDRESS/certs/download.zip" > download.zip
Sostituisci SERVER_ADDRESS
con l'indirizzo del tuo server vCenter.
Installa il comando unzip
e decomprimi il file del certificato:
sudo apt-get install unzip unzip downloads.zip
Se il comando decomprimi non funziona la prima volta, inseriscilo di nuovo.
Cerca il file del certificato in certs/lin
.
vCenter.credentials.fileRef.path
Stringa. Il percorso di un file di configurazione delle credenziali contenente il nome utente e la password dell'account utente vCenter. L'account utente deve avere il ruolo Amministratore o privilegi equivalenti. Consulta i requisiti di vSphere. Ecco alcuni esempi:
vCenter: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
vCenter.credentials.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 utente vCenter. Ecco alcuni esempi:
vCenter: credentials: fileRef: entry: "vcenter-creds"
vCenter.dataDisk
Stringa. GKE On-Prem crea un disco di una macchina virtuale (VMDK) per contenere i dati degli oggetti Kubernetes. Il programma di installazione crea il VMDK automaticamente, ma devi fornire un nome per il VMDK nel campo vCenter.dataDisk
. Ecco alcuni esempi:
vCenter: dataDisk: "my-disk.vmdk"
network
Questa sezione contiene informazioni sulla rete del cluster di amministrazione.
network.hostConfig
Questa sezione contiene informazioni sui server NTP, i server DNS e i domini di ricerca DNS utilizzati dal cluster.
Se hai fornito un valore per uno o entrambi i seguenti campi, compila questa sezione. In caso contrario, 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 di domini. Ecco alcuni esempi:
network: hostConfig: searchDomainsForDNS: - "my.local.com"
network.ipMode.type
Stringa. Se vuoi che i nodi del cluster ricevano l'indirizzo IP da un server DHCP, impostalo su "dhcp"
. Se vuoi che i nodi del cluster abbiano indirizzi IP statici scelti da un elenco fornito, imposta questo valore su "static"
.
Ecco alcuni esempi:
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 IP del blocco per i nodi del cluster di amministrazione. Ecco alcuni esempi:
network: ipMode: ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"
network.serviceCIDR
e network.podCiDR
Stringa. Il cluster di amministrazione 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 completati con i valori predefiniti. Se vuoi, puoi modificare i valori completati e utilizzare quelli che preferisci.
Gli intervalli di servizi e pod non devono sovrapporsi. Inoltre, gli intervalli di servizi e pod non devono sovrapporsi agli indirizzi IP utilizzati per i nodi in qualsiasi cluster.
Ecco alcuni esempi:
network: ... serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16"
network.vCenter.networkName
Stringa. Il nome della rete vSphere per i nodi del cluster.
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, è possibile specificare un percorso alla rete, ad esempio /DATACENTER/network/NETWORK_NAME
.
Ecco alcuni esempi:
network: vCenter: networkName: "MY-CLUSTER-NETWORK"
loadBalancer
Questa sezione contiene le informazioni sul bilanciatore del carico per il cluster di amministrazione.
loadBalancer.vips.controlPlaneVIP
Stringa. L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il server API Kubernetes del cluster di amministrazione. Ecco alcuni esempi:
loadBalancer: vips: controlplaneVIP: "203.0.113.3"
loadBalancer.vips.addonsVIP
Stringa. L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per i componenti aggiuntivi. Ecco alcuni esempi:
loadBalancer: vips: addonsVIP: "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.
loadBalancer.manualLB.ingressHTTPNodePort
Rimuovi questo campo dal file di configurazione. Non è utilizzato in un cluster di amministrazione.
loadBalancer.manualLB.ingressHTTPSNodePort
Rimuovi questo campo dal file di configurazione. Non è utilizzato in un cluster di amministrazione.
loadBalancer.manualLB.controlPlaneNodePort
Numero intero. Il server API di Kubernetes nel cluster di amministrazione è implementato come servizio di tipo NodePort
. Devi scegliere un valore nodePort
per il servizio.
Imposta questo campo sul valore nodePort
. Ecco alcuni esempi:
loadBalancer: manualLB: contolPLaneNodePort: 30968
loadBalancer.manualLB.addonsNodePort
Numero intero. Il server dei componenti aggiuntivi nel cluster di amministrazione è implementato come servizio di
tipo NodePort
. Devi scegliere un valore nodePort
per il servizio.
Imposta questo campo sul valore nodePort
. Ecco alcuni esempi:
loadBalancer: manualLB: addonsNodePort: 31405
loadBalancer.f5BigIP
Se imposti loadbalancer.kind
su "f5BigIP"
, compila questa sezione. Altrimenti, rimuovi questa sezione.
loadBalancer.f5BigIP.address
Stringa. L'indirizzo del bilanciatore del carico BIG-IP di F5. Ecco alcuni esempi:
loadBalancer: f5BigIP: address: "203.0.113.2"
loadBalancer.f5BigIP.fileRef.path
Stringa. Il percorso di un file di configurazione delle credenziali contenente il nome utente e la password di un account che GKE On-Prem può utilizzare per la connessione al bilanciatore del carico BIG-IP di F5. Ecco alcuni esempi:
loadBalancer: f5BigIP: fileRef: path: ""my-config-folder/admin-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. Ecco alcuni esempi:
loadBalancer: f5BigIP: fileRef: entry: "f5-creds"
loadBalancer.f5BigIP.partition
Stringa. Il nome di una partizione BIG-IP creata per il cluster di amministrazione. Ecco alcuni esempi:
loadBalancer: f5BigIP: partition: "my-f5-admin-partition"
loadBalancer.f5BigIP.snatPoolName
Stringa. Se utilizzi SNAT, il nome del pool SNAT. Se non utilizzi SNAT, rimuovi questo campo. Ecco alcuni esempi:
loadBalancer: f5BigIP: snatPoolName: "my-snat-pool"
loadBalancer.seesaw
Se imposti loadbalancer.kind
su "Seesaw"
, compila questa sezione. Altrimenti, rimuovi questa sezione.
loadBalancer.seesaw.ipBlockFilePath
Stringa. Impostalo sul percorso del file di blocco IP per le VM di Seesaw. Ecco alcuni esempi:
loadBalancer: seesaw: ipBlockFilePath: "admin-seesaw-ipblock.yaml"
loadBalancer.seesaw.vird
Numero intero. L'identificatore del router virtuale della VM di Seesaw. Questo identificatore deve essere univoco in una VLAN. L'intervallo valido è 1-255. Ecco alcuni esempi:
loadBalancer: seesaw: vrid: 125
loadBalancer.seesaw.masterIP
Stringa. Il VIP della tua coppia VM o VM Seesaw. Ecco alcuni esempi:
loadBalancer: seesaw: masterIP: 172.16.20.21
loadBalancer.seesaw.cpus
Numero intero. Il numero di CPU per la VM Seesaw. Ecco alcuni esempi:
loadBalancer: seesaw: cpus: 8
loadBalancer.seesaw.memoryMB
Numero intero. Il numero di megabyte di memoria per la tua VM Seesaw. Ecco alcuni esempi:
loadBalancer: seesaw: memoryMB: 8192
loadBalancer.seesaw.vCenter.networkName
Stringa. Il nome della rete che contiene le VM di Seesaw. Ecco alcuni esempi:
loadBalancer: seesaw: vCenter: networkName: "my-seesaw-network"
loadBalancer.seesaw.enableHA
Valore booleano. Se vuoi creare un bilanciatore del carico di Seesaw ad alta disponibilità, impostalo su true
. In caso contrario, imposta questo valore su false
. Ecco alcuni esempi:
loadBalancer: seesaw: enableHA: true
antiAffinityGroups.enabled
Valore booleano. Imposta questo valore su true
per abilitare la creazione delle regole DRS. In caso contrario, imposta questo valore su
false
. Ecco alcuni esempi:
antiAffinityGroups: enabled: true
GKE On-Prem crea automaticamente le regole di anti-affinità Distributed Resource Scheduler (DRS) di VMware per i nodi del cluster di amministrazione, in modo da distribuirle in almeno tre host fisici del data center.
Questa funzionalità richiede che il tuo ambiente vSphere soddisfi le seguenti condizioni:
VMware DRS è abilitato. VMware DRS richiede la versione della 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 DRS VMware.
Se non hai abilitato DRS o se non hai almeno tre host in cui è possibile pianificare le VM vSphere, imposta antiAffinityGroups.enabled
su false
.
proxy
Se la rete è protetta da un server proxy, compila questa sezione. Altrimenti, rimuovi questa sezione.
proxy.url
Stringa. L'indirizzo HTTP del server proxy. Includi il numero di porta anche se è la stessa della porta predefinita dello schema. Ecco alcuni esempi:
proxy: url: "http://my-proxy.example.local:80"
Il server proxy specificato qui è utilizzato dai cluster GKE On-Prem. Inoltre, la tua workstation di amministrazione viene configurata automaticamente in modo da utilizzare lo stesso server proxy, a meno che non imposti la variabile di ambiente HTTPS_PROXY
nella workstation di amministrazione.
Se specifichi proxy.url
, devi specificare anche proxy.noProxy
.
proxy.noProxy
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 GKE On-Prem invia una richiesta a uno di questi indirizzi, host o domini, la richiesta viene inviata direttamente. Ecco alcuni esempi:
proxy: noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"
privateRegistry
Se hai un registro Docker privato, compila questa sezione. In caso contrario, rimuovi questa sezione.
privateRegistry.address
Stringa. L'indirizzo IP della macchina che esegue il registro Docker privato. Ecco alcuni esempi:
privateRegistry: address: "203.0.113.10"
privateRegistry.credentials.fileRef.path
Stringa. Il percorso di un file di configurazione delle credenziali contenente il nome utente e la password di un account che GKE On-Prem può utilizzare per accedere al registro Docker privato. Ecco alcuni esempi:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.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 registro Docker privato.
privateRegistry: credentials: fileRef: entry: "private-registry-creds"
privateRegistry.caCertPath
Stringa. Quando Docker esegue il pull di un'immagine dal registro privato, quest'ultimo deve dimostrare la propria identità presentando un certificato. Il certificato del registry è firmato da un'autorità di certificazione (CA). Docker utilizza il certificato della CA per convalidare il certificato del registry.
Imposta questo campo sul percorso del certificato dell'autorità di certificazione. Ecco alcuni esempi:
privateRegistry: caCertPath: "my-cert-folder/registry-ca.crt"
gcrKeyPath
Stringa. Il percorso del file della chiave JSON per l'account di servizio che vuoi utilizzare per il download dei componenti GKE On-Prem. Ecco alcuni esempi:
gcrKeyPath: "my-key-folder/access-key.json"
stackdriver
Questa sezione contiene le informazioni sul progetto e sull'account di servizio che vuoi utilizzare per archiviare log e metriche.
stackdriver.projectID
Stringa. L'ID del progetto Google Cloud per il quale vuoi visualizzare i log. Ecco alcuni esempi:
stackdriver: projectID: "my-logs-project"
stackdriver.clusterLocation
Stringa. La regione Google Cloud in cui vuoi archiviare i log. È una buona idea scegliere una regione vicina al data center on-prem. Ecco alcuni esempi:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Valore booleano. Se la rete del cluster è controllata da un VPC, imposta questo campo su true
. Ciò garantisce che tutta la telemetria passi attraverso gli indirizzi IP limitati di Google. In caso contrario, imposta questo campo su false
. Ecco alcuni esempi:
stackdriver: enableVPC: false
stackdriver.serviceAccountKeyPath
Stringa. Il percorso del file della chiave JSON per l'account di servizio di monitoraggio del logging. Ecco alcuni esempi:
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
cloudAuditLogging
Se vuoi integrare gli audit log dal server API Kubernetes del cluster con Cloud Audit Logs, compila questa sezione. In caso contrario, rimuovi questa sezione.
cloudAuditLogging.projectid
Stringa. L'ID del progetto Google Cloud in cui vuoi visualizzare gli audit log. Ecco alcuni esempi:
cloudAuditLogging: projectid: "my-audit-project"
cloudAuditLogging.clusterlocation
Stringa. La regione Google Cloud in cui vuoi archiviare gli audit log. Sarebbe consigliabile scegliere una regione vicina al data center on-prem. 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. Ecco alcuni esempi:
cloudAuditLogging: serviceaccountkeypath: "my-key-folder/audit-log-key.json"
autoRepair.enabled
Valore booleano. Imposta questo valore su true
per attivare la riparazione automatica dei nodi.
In caso contrario, imposta questa opzione su false
. Ecco alcuni esempi:
autoRepair: enabled: true