Attivazione della modalità di bilanciamento del carico manuale

I cluster GKE On-Prem possono essere eseguiti con una delle due modalità di bilanciamento del carico: integrata o manuale. Con la modalità integrata, i cluster GKE On-Prem vengono eseguiti con il bilanciatore del carico F5 BIG-IP. Con la modalità manuale, puoi utilizzare il bilanciatore del carico BIG-IP di F5 o qualsiasi altro bilanciatore del carico 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 seguire se scegli di utilizzare la modalità di bilanciamento del carico manuale.

Il bilanciatore del carico Citrix e il bilanciatore del carico di Seesaw sono esempi di bilanciatori 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 o manuale, devi impostare 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, supponiamo che tu abbia due cluster utente e intendi utilizzare componenti aggiuntivi in tutti i tuoi cluster. 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.

  • Per ciascuno di due cluster utente, un valore nodePort per il server aggiuntivo.

Nell'esempio precedente, dovresti mettere da parte 11 valori di nodePort.

Modifica del file di configurazione GKE On-Prem

Quando installi GKE On-Prem, generi un file di configurazione. Per la modalità di bilanciamento del carico manuale, apporta le seguenti modifiche al file di configurazione:

  • Imposta lbmode su Manual.

  • Imposta admincluster.ipblockfilepath sul percorso del file YAML IP statico per il cluster di amministrazione. Questo è documentato in Configurazione di IP statici. Il protocollo DHCP non è disponibile per la modalità Manual.

  • Imposta usercluster.ipblockfilepath sul percorso del file YAML IP statico per il cluster utente.

  • Aggiorna il campo admincluster.manuallbspec con i valori nodePort che hai scelto per il cluster di amministrazione.

  • Aggiorna la sezione usercluster.manuallbspec con i valori nodePort che hai scelto per il cluster utente.

L'esempio seguente mostra una parte di un file di configurazione aggiornato:

...
lbmode: Manual
...
admincluster:
  ipblockfilepath: "ipblock1.yaml"
  manuallbspec:
    controlplanenodeport: 30968
    addonsnodeport: 31405
...
usercluster:
  ipblockfilepath: "env/default/ipblock2.yaml"
  manuallbspec:
    ingresshttpnodeport: 30243
    ingresshttpsnodeport: 30879
    controlplanenodeport: 30562

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.

Come accennato in precedenza, devi configurare cinque VIP e sette porte. Quindi crei sette servizi virtuali sul tuo bilanciatore del carico:

  • Piano di controllo del cluster di amministrazione, porta TCP 443
  • Gestore componenti aggiuntivi, porta TCP 8443
  • Piano di controllo utente, porta TCP 80
  • 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 e 192.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 sia 192.168.0.11. Il bilanciatore del carico inoltra la richiesta a 192.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 sia 192.168.0.10. Il bilanciatore del carico inoltra la richiesta a 192.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

Risolvere i problemi

Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi.