Questa pagina mostra come creare un cluster utente.
I passaggi in questo argomento sono scritti supponendo che tu abbia utilizzato gkeadm
per creare la workstation di amministrazione.
Se non hai utilizzato gkeadm
, ma hai seguito i passaggi descritti in Creare una workstation di amministrazione con un indirizzo IP statico, devi apportare alcune modifiche man mano che segui questo argomento. I singoli passaggi spiegano gli eventuali aggiustamenti necessari.
Se utilizzi un proxy, tutti i comandi gkectl
utilizzano automaticamente lo stesso proxy che hai impostato nel file di configurazione per le richieste Internet dalla workstation di amministrazione. Se la workstation di amministrazione non si trova dietro lo stesso proxy, fai riferimento alle "Opzioni proxy manuali" negli argomenti avanzati Creazione di una workstation di amministrazione:
IP statico
| DHCP.
SSH nella workstation di amministrazione
Accedi alla tua workstation di amministrazione tramite SSH seguendo le istruzioni riportate in Ottenere una connessione SSH alla tua workstation di amministrazione.
L'account di servizio incluso nella lista consentita viene attivato nella tua workstation di amministrazione. Esegui tutti i passaggi rimanenti di questo argomento sulla workstation di amministrazione.
Configurazione di IP statici per il cluster utente
Per specificare gli indirizzi IP statici da utilizzare per il cluster utente, crea un file di configurazione host denominato user-hostconfig.yaml
. Per questo esercizio, devi specificare tre indirizzi IP che devono essere utilizzati dal cluster utente.
Di seguito è riportato un file di configurazione dell'host con tre host:
hostconfig: dns: 172.16.255.1 tod: 216.239.35.0 otherdns: - 8.8.8.8 - 8.8.4.4 othertod: - ntp.ubuntu.com searchdomainsfordns: - "my.local.com" blocks: - netmask: 255.255.252.0 gateway: 172.16.23.254 ips: - ip: 172.16.20.15 hostname: user-host1 - ip: 172.16.20.16 hostname: user-host2 - ip: 172.16.20.17 hostname: user-host3
Il campo ips
è un array di indirizzi IP e nomi host. Questi sono gli indirizzi IP e i nomi host che GKE On-Prem assegnerà ai nodi del tuo cluster utente.
Nel file di configurazione dell'host, devi specificare anche gli indirizzi dei server DNS, dei server dell'ora e del gateway predefinito che verranno utilizzati dai nodi del cluster utente.
Il campo searchdomainsfordns
è un array di domini di ricerca DNS da utilizzare nel cluster. Questi domini vengono utilizzati come parte di un elenco di ricerca di domini.
Campi compilati nel file di configurazione
Ricorda che quando hai creato la workstation di amministrazione, hai compilato un file di configurazione denominato admin-ws-config.yaml
. Lo strumento a riga di comando gkeadm
ha utilizzato il tuo file admin-ws-config.yaml
per creare la workstation di amministrazione.
Quando gkeadm
ha creato la tua workstation di amministrazione, ha generato un altro
file di configurazione denominato user-cluster.yaml
. Questo file di configurazione, che si trova nella workstation di amministrazione, serve per creare il cluster utente.
I file admin-ws-config.yaml
e user-cluster.yaml
hanno diversi campi in comune. I valori per questi campi comuni sono già compilati nel file user-cluster.yaml
.
Questi sono i campi che vengono già compilati con i valori che hai fornito al momento della creazione della workstation di amministrazione:
stackdriver: projectID: serviceAccountKeyPath: gkeConnect: projectID: registerServiceAccountKeyPath: agentServiceAccountKeyPath:
Compilazione del resto del file di configurazione
Successivamente, devi compilare i campi rimanenti nel file user-cluster.yaml
.
name
Stringa. Un nome scelto da te per il tuo cluster utente. Ad esempio:
name: "my-user-cluster"
gkeOnPremVersion
Stringa. La versione on-prem di GKE per il tuo cluster utente. Ad esempio:
gkeOnPremVersion: "1.4.3-gke.3"
network.ipMode.type
Stringa. Imposta questo valore su "static"
.
network: ipMode: type: "static"
network.ipBlockFilePath
Stringa. Poiché utilizzi indirizzi IP statici, devi disporre di un file di configurazione dell'host, come descritto nella sezione Configurare gli indirizzi IP statici. Imposta network.ipBlockFilePath
sul percorso del file di configurazione dell'host. Ad esempio:
network: ipBlockFilePath: "/my-config-directory/admin-hostconfig.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 completati con i valori predefiniti. Se vuoi, puoi modificare i valori compilati con quelli di tua scelta.
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.
Esempio:
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 |
Simbolo percentuale (% ) |
%25 |
Se il nome della rete non è univoco, è possibile specificare un percorso per la rete, ad esempio /DATACENTER/network/NETWORK_NAME
.
Ad esempio:
network: vCenter: networkName: "MY-CLUSTER-NETWORK"
loadBalancer.vips
Stringhe. Imposta il valore loadBalancer.vips.controlPlaneVIP
su
l'indirizzo IP che hai scelto di configurare sul bilanciatore del carico
per il server API Kubernetes del cluster utente. Imposta il valore di loadBalancer.vips.ingressVIP
sull'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il servizio in entrata nel tuo cluster utente. Ad esempio:
loadBalancer: ... vips: controlplaneVIP: "203.0.113.5" ingressVIP: "203.0.113.6"
loadBalancer.kind
Stringa. Imposta questo valore su "Seesaw"
. Ad esempio:
loadBalancer: kind: "Seesaw"
loadBalancer.seesaw.ipBlockFilePath
Stringa. Impostalo sul percorso del file hostconfig per la VM di Seesaw. Ad esempio:
loadbalancer: ... seesaw: ipBlockFilePath: "user-seesaw-hostconfig.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. Ad esempio:
loadBalancer: seesaw: vrid: 126
loadBalancer.seesaw.masterIP
Stringa. L'indirizzo IP del piano di controllo per la VM Seesaw. Ad esempio:
loadBalancer: seesaw: masterIP: "203.0.113.7"
loadBalancer.seesaw.cpus
Numero intero. Il numero di CPU per la tua VM Seesaw. Ad esempio:
loadBalancer: seesaw: cpus: 8
loadBalancer.seesaw.memoryMB
Numero intero. Il numero di megabyte di memoria per la tua VM di Seesaw. Ad esempio:
loadBalancer:. seesaw: memoryMB: 8192
loadBalancer.seesaw.enableHA
Valore booleano. Imposta questo valore su false
. Ad esempio:
loadBalancer:. seesaw: enableHA: false
nodePools.name
Stringa. Un nome scelto da te per un pool di nodi. Ad esempio:
nodePools: - name: "my-user-pool"
nodePools.replicas
Numero intero. Il numero di VM nel pool di nodi. Imposta questo valore su 3
.
nodePools: - name: "my-user-pool" replicas: 3
stackdriver.clusterLocation
Stringa. La regione Google Cloud in cui vuoi archiviare i log. È buona norma scegliere una regione vicina al data center on-premise.
stackdriver.enablevpc
Imposta stackdriver.enablevpc
su true
se la rete del cluster è controllata da un VPC. Ciò garantisce che tutta la
telemetria passi attraverso gli indirizzi IP limitati di Google.
stackdriver.enableVPC
Valore booleano. Imposta stackdriver.enableVPC
su true
se la rete del cluster è controllata da un VPC. Ciò garantisce che tutta la
telemetria passi attraverso gli indirizzi IP limitati di Google. In caso contrario, imposta questa opzione su false
. Ad esempio:
stackdriver: enableVPC: false
Campi aggiuntivi nel file di configurazione
Il file di configurazione GKE On-Prem ha diversi campi oltre a quelli mostrati in questo argomento. Ad esempio, puoi utilizzare il campo manuallbspec
per configurare GKE On-Prem per l'esecuzione in modalità di bilanciamento del carico manuale.
Per una descrizione completa dei campi nel file di configurazione, consulta Installazione con DHCP e Installazione con indirizzi IP statici.
Convalida del file di configurazione
Dopo aver modificato il file di configurazione, esegui gkectl check-config
per verificare che il file sia valido e possa essere utilizzato per l'installazione:
gkectl check-config --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]
dove:
[ADMIN_CLUSTER_KUBECONFIG] è il percorso del file kubeconfig per il tuo cluster di amministrazione.
[CONFIG_FILE] è il percorso del file di configurazione del cluster utente.
Se il comando restituisce un messaggio FAILURE
, correggi i problemi e convalida di nuovo il file.
Se vuoi saltare le convalide che richiedono più tempo, passa il flag --fast
.
Per saltare le singole convalide, utilizza i flag --skip-validation-xxx
. Per scoprire di più sul comando check-config
, consulta Controlli preflight.
Creazione del bilanciatore del carico
Crea e configura la VM per il bilanciatore del carico di Seesaw:
gkectl create loadbalancer --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]
dove:
[ADMIN_CLUSTER_KUBECONFIG] è il percorso del file kubeconfig per il tuo cluster di amministrazione.
[CONFIG_FILE] è il percorso del file di configurazione del cluster utente.
Creazione del cluster utente
Crea il cluster utente:
gkectl create cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]
dove:
[ADMIN_CLUSTER_KUBECONFIG] è il percorso del file kubeconfig per il tuo cluster di amministrazione.
[CONFIG_FILE] è il percorso del file di configurazione del cluster utente.