I cluster GKE On-Prem possono essere eseguiti con una delle tre seguenti modalità di bilanciamento del carico: integrata, integrata o manuale. Con la modalità integrata, un cluster GKE On-Prem utilizza il bilanciatore del carico BIG-IP di F5. Con la modalità integrata, GKE On-Prem offre e gestisce il bilanciatore del carico. Non è necessario ottenere una licenza per un bilanciatore del carico e la quantità di configurazione che devi fare è minima. Con la modalità manuale, GKE On-Prem utilizza un bilanciatore del carico diverso a tua scelta. La modalità di bilanciamento del carico manuale richiede più configurazione rispetto alla modalità integrata. In questa pagina vengono descritti i passaggi da svolgere se scegli di utilizzare la modalità di bilanciamento del carico manuale.
Il bilanciatore del carico Citrix è un esempio di bilanciatore del carico che potresti utilizzare con la modalità di bilanciamento del carico manuale.
In questo argomento metti da parte gli indirizzi IP e i valori di nodePort
per utilizzarli in un secondo momento.
L'idea è che tu scelga gli indirizzi IP e i valori nodePort
da utilizzare per il bilanciamento del carico e per i nodi del cluster. A questo punto non devi fare nulla
con gli indirizzi e i valori nodePort
. In seguito, quando
potrai installare GKE On-Prem, ti serviranno gli indirizzi e i valori
nodePort
per compilare il file di configurazione del cluster. Quando configuri manualmente il bilanciatore del carico, avrai bisogno anche degli indirizzi e dei valori nodePort
.
Mettere da parte gli indirizzi IP virtuali
Indipendentemente dal fatto che utilizzi la modalità di bilanciamento del carico integrata, integrata o manuale, devi mettere da parte diversi indirizzi IP virtuali (VIP) che intendi utilizzare per il bilanciamento del carico. Questi VIP consentono ai client esterni di raggiungere i server API, i servizi in entrata e i servizi aggiuntivi di Kubernetes. Per istruzioni dettagliate su come mettere da parte i VIP, consulta la pagina Riservare gli indirizzi IP virtuali.
Mettere da parte gli indirizzi IP dei nodi
Con la modalità di bilanciamento del carico manuale, non puoi utilizzare il protocollo DHCP. Devi specificare indirizzi IP statici per i nodi del cluster. Devi mettere da parte gli indirizzi sufficienti per i nodi nel cluster di amministrazione e i nodi in tutti i cluster utente che intendi creare. Per maggiori dettagli su quanti indirizzi IP dei nodi mettere da parte, consulta Configurazione di IP statici.
Metti da parte i valori di nodePort
In un cluster GKE On-Prem, il server API Kubernetes, il servizio Ingress e il servizio componenti aggiuntivi vengono implementati come servizi Kubernetes di tipo NodePort
.
Con la modalità di bilanciamento del carico manuale, devi scegliere i tuoi valori nodePort
per questi servizi. Scegli i valori compresi tra 30.000 e 32.767. Dopo aver scelto i valori
nodePort
, mettili da parte per utilizzarli in un secondo momento quando modifichi il file
di configurazione del cluster.
Scegli e metti da parte i seguenti valori per nodePort
.
Per ogni VIP che hai prenotato per un server API Kubernetes, metti da parte un valore
nodePort
.Per ogni VIP che hai riservato per un servizio in entrata del cluster, imposta due valori
nodePort
: uno per il traffico HTTP e uno per il traffico HTTPS. Questo si applica solo al cluster utente.Per ogni VIP che hai riservato per un servizio di componente aggiuntivo per il cluster, metti da parte un valore
nodePort
. Questo vale solo per il cluster di amministrazione.
Ad esempio, supponi di avere due cluster utente e di utilizzare dei componenti aggiuntivi. Dovresti scegliere e mettere da parte i seguenti valori nodePort
:
Un valore
nodePort
per il server API Kubernetes nel cluster di amministrazione.Per ciascuno di due cluster utente, un valore
nodePort
per il server API Kubernetes.Per ciascuno di due cluster utente, un valore
nodePort
per il traffico HTTP verso il servizio in entrata.Per ciascuno di due cluster utente, un valore
nodePort
per il traffico HTTPS al servizio in entrata.Un valore
nodePort
per il servizio aggiuntivo nel cluster di amministrazione.
Nell'esempio precedente, dovresti mettere da parte otto valori nodePort
.
Modifica del file di configurazione GKE On-Prem
Prepara un file di configurazione per ogni cluster: cluster amministratore e cluster utente.
Imposta
loadBalancer.kind
suManualLB
.Imposta
network.ipMode
sustatic
Imposta
network.ipBlockFilePath
sul percorso del file YAML IP statico per il cluster. Questo è documentato in Configurazione di IP statici. Il protocollo DHCP non è disponibile per la modalità di bilanciamento del carico manuale.Aggiorna il campo
loadBalancer.manualLB
con i valorinodePort
che hai scelto per il cluster.
L'esempio seguente mostra una parte di un file di configurazione aggiornato:
network: ipMode: type: static ipBlockFilePath: "ipblock1.yaml" loadBalancer: kind: ManualLB manualLB: ingressHTTPNodePort: 30243 ingressHTTPSNodePort: 30879 controlPlaneNodePort: 30562: addonsnodeport: 31405
Configura il tuo bilanciatore del carico
Ora che hai aggiornato il file di configurazione, accedi alla console di gestione del bilanciatore del carico e configura i VIP:
- piano di controllo del cluster per i cluster di amministrazione e utente, porta TCP 443
- Gestore aggiuntivo per il cluster di amministrazione, se utilizzato, porta TCP 8443
- Controller in entrata del cluster utente, porta TCP 80
- Controller in entrata del cluster utente, porta TCP 443
Esempio di bilanciamento del carico
Un servizio ha un campo ports
, che è un array di oggetti ServicePort. In un servizio di tipo NodePort
, ogni oggetto ServicePort ha un elemento
protocol
, port
, nodePort
e targetPort
. Ad esempio, ecco parte di un manifest per un servizio che ha due oggetti ServicePort nel suo array ports
:
... kind: Service ... spec: ... type: NodePort ports: - protocol: TCP port: 80 nodePort: 32676 targetPort: 8080 - protocol: TCP port: 443 nodePort: 32677 targetPort: 443 ...
Supponiamo che il servizio precedente rappresenti il servizio in entrata per uno dei tuoi cluster utente. Supponi inoltre di aver effettuato le seguenti scelte:
203.0.113.5
è il VIP per il servizio in entrata del tuo cluster utente.Gli indirizzi dei nodi per il cluster utente sono
192.168.0.10
,192.168.0.11
e192.168.0.12
.
Dopo aver configurato il bilanciatore del carico, il traffico viene instradato come segue:
Un client invia una richiesta a
203.0.113.5
sulla porta TCP 80. Il bilanciatore del carico sceglie un nodo cluster utente. Per questo esempio, supponiamo che l'indirizzo del nodo sia192.168.0.11
. Il bilanciatore del carico inoltra la richiesta a192.168.0.11
sulla porta TCP 32676. Le regole iptables sul nodo inoltrano la richiesta a un pod appropriato sulla porta TCP 8080.Un client invia una richiesta alla
203.0.113.5
sulla porta TCP 443. Il bilanciatore del carico sceglie un nodo del cluster utente. Per questo esempio, supponiamo che l'indirizzo del nodo sia192.168.0.10
. Il bilanciatore del carico inoltra la richiesta a192.168.0.10
sulla porta TCP 32677. Le regole iptables sul nodo inoltrano la richiesta a un pod appropriato sulla porta TCP 443.
Richiedere assistenza per il bilanciamento manuale del carico
Google non fornisce assistenza per i bilanciatori del carico configurati utilizzando la modalità di bilanciamento del carico manuale. In caso di problemi con il bilanciatore del carico, contatta il fornitore del bilanciatore del carico.
Passaggi successivi
- Bilanciamento del carico con Citrix
- Installazione di ADC BIG-IP di F5 per GKE On-Prem utilizzando il bilanciamento del carico manuale
Risolvere i problemi
Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi.