Attivazione della modalità di bilanciamento del carico manuale

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 su ManualLB.

  • Imposta network.ipMode su static

  • 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 valori nodePort 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 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.