Ti consigliamo di configurare una delle seguenti modalità di bilanciamento del carico:
Con la modalità in bundle, Google Distributed Cloud fornisce e gestisce con il bilanciatore del carico di rete passthrough esterno regionale. Non è necessario avere una licenza per un bilanciatore del carico la configurazione da eseguire è minima.
Con la modalità manuale, Google Distributed Cloud utilizza un bilanciatore del carico a tua scelta, come F5 BIG-IP o Citrix. Questa operazione richiede la modalità di bilanciamento del carico manuale con maggiore configurazione rispetto alla modalità in bundle.
Il bilanciamento del carico manuale è supportato per i seguenti tipi di cluster:
Cluster utente in cui è abilitato il piano di controllo V2. Con il piano di controllo V2, i nodi del piano di controllo per un cluster utente si trovano nel cluster utente stesso.
di cluster utente che usano kubeception. Il termine kubeception si riferisce al caso in cui il piano di controllo per un cluster utente viene eseguito su uno o più nodi del cluster di amministrazione. Se il piano di controllo V2 non è abilitato, un cluster utente utilizza e kubeception.
In questa pagina vengono descritti i passaggi da seguire se scegli di utilizzare il manuale in modalità di bilanciamento del carico.
In questo argomento, assegnerai gli indirizzi IP per i nodi del piano di controllo
di nodi worker per utilizzarli in un secondo momento. Puoi anche mettere da parte gli indirizzi IP per gli IP virtuali
(VIP) e decidi i valori di nodePort
. L'idea è che devi scegliere l'IP
e i valori nodePort
che vuoi utilizzare e poi registrali
un foglio di lavoro o un altro strumento. Quando tutto è pronto per creare i cluster,
avrai bisogno degli indirizzi IP e dei valori nodePort
per compilare il
di configurazione dei carichi di lavoro
cluster di amministrazione
e i tuoi
cluster utente e
i file dei blocchi IP per i cluster.
Ti serviranno anche gli indirizzi IP e i valori nodePort
quando inserisci manualmente
e configurare il bilanciatore del carico
per i cluster utente.
Mettere da parte gli indirizzi IP dei nodi
Con la modalità di bilanciamento del carico manuale, non puoi utilizzare DHCP. Devi specificare Indirizzi IP dei nodi del cluster. Devi riservare un numero sufficiente di indirizzi per i nodi nel cluster di amministrazione e quelli in tutti i cluster utente che per creare. Per maggiori dettagli sul numero di indirizzi IP dei nodi da mettere da parte, consulta: Pianificare gli indirizzi IP (Controlplane V2) e Pianifica gli indirizzi IP (kubeception).
Configura indirizzi IP
Il punto in cui configuri gli indirizzi IP statici che hai accantonato dipende sul tipo di cluster e se il piano di controllo V2 è abilitato sul tuo utente cluster.
Cluster di amministrazione ad alta disponibilità
La tabella seguente descrive a cosa servono gli indirizzi IP e dove e configurarle per i cluster di amministrazione ad alta disponibilità.
IP statici | Configurazione |
---|---|
Nodi del control plane | Il file di configurazione del cluster di amministrazione
Sezione network.controlPlaneIPBlock.ips |
1.16 e precedenti: nodi aggiuntivi | Blocco IP del cluster di amministrazione
file e aggiungi il percorso nel file
network.ipMode.ipBlockFilePath nel campo
file di configurazione del cluster di amministrazione |
Nella versione 1.28 e successive, i nuovi cluster di amministrazione ad alta disponibilità non hanno nodi aggiuntivi, quindi non è necessario riservare gli indirizzi IP per i nodi dei componenti aggiuntivi come versions.
Cluster di amministrazione non ad alta disponibilità
La tabella seguente descrive a cosa servono gli indirizzi IP e dove e configurarle per i cluster di amministrazione non ad alta disponibilità.
IP statici | Configurazione |
---|---|
Nodo piano di controllo | Blocco IP del cluster di amministrazione
file e aggiungi il percorso nel file
network.ipMode.ipBlockFilePath nel campo
file di configurazione del cluster di amministrazione |
Nodi aggiuntivi | File del blocco IP del cluster di amministrazione |
Nella versione 1.28 e successive, tutti i nuovi cluster di amministrazione devono essere ad alta disponibilità ad alta disponibilità con 3 nodi del piano di controllo.
Cluster utente CP V2
La tabella seguente descrive a cosa servono gli indirizzi IP e dove configurarle per i cluster utente con il piano di controllo V2 abilitato.
IP statici | Configurazione |
---|---|
Nodi del control plane | Il file di configurazione del cluster utente
Sezione network.controlPlaneIPBlock.ips |
Nodi worker | Blocco IP del cluster utente
file e aggiungi il percorso nel file
network.ipMode.ipBlockFilePath nel campo
file di configurazione del cluster utente |
Cluster utente Kubeception
La tabella seguente descrive a cosa servono gli indirizzi IP e dove e configurarle per i cluster utente che usano kubeception.
IP statici | Configurazione |
---|---|
Nodi del control plane | Blocco IP del cluster di amministrazione
file e aggiungi il percorso nel file
network.ipMode.ipBlockFilePath nel campo
file di configurazione del cluster di amministrazione |
Nodi worker | Blocco IP del cluster utente
file e aggiungi il percorso nel file
network.ipMode.ipBlockFilePath nel campo
file di configurazione del cluster utente |
Riservare gli indirizzi IP per i VIP
Indipendentemente dal fatto che utilizzi la modalità di bilanciamento del carico integrato, in bundle o manuale, devi mettere da parte diversi indirizzi IP che intendi utilizzare IP virtuali (VIP) per il bilanciamento del carico. Questi VIP consentono ai client esterni raggiungere i server API Kubernetes e il tuo servizio in entrata sui cluster utente.
Configura VIP
La configurazione dei VIP dipende dal tipo di cluster.
Cluster di amministrazione ad alta disponibilità
La tabella seguente descrive lo scopo del VIP e dove puoi per i cluster di amministrazione ad alta disponibilità.
VIP | Configurazione |
---|---|
VIP per il server API Kubernetes del cluster di amministrazione | Il file di configurazione del cluster di amministrazione
Campo loadBalancer.vips.controlPlaneVIP |
1.15 e precedenti: VIP aggiuntivi | Il file di configurazione del cluster di amministrazione
Campo loadBalancer.vips.addonsVIP |
Tieni presente le seguenti differenze nelle versioni:
Nella versione 1.16 e successive, non è necessario configurare un VIP per i componenti aggiuntivi per l'amministratore ad alta disponibilità cluster.
Nella versione 1.28 e successive, i nuovi cluster di amministrazione ad alta disponibilità non hanno nodi aggiuntivi.
Cluster di amministrazione non ad alta disponibilità
La tabella seguente descrive a cosa serve il VIP e dove lo configuri per i cluster di amministrazione non ad alta disponibilità.
VIP | Configurazione |
---|---|
VIP per il server API Kubernetes del cluster di amministrazione | Il file di configurazione del cluster di amministrazione
Campo loadBalancer.vips.controlPlaneVIP |
1.15 e precedenti: VIP aggiuntivi | Il file di configurazione del cluster di amministrazione
Campo loadBalancer.vips.addonsVIP |
Tieni presente le seguenti differenze nelle versioni:
Nella versione 1.16 e successive, non è necessario configurare un VIP per i componenti aggiuntivi dei cluster di amministrazione non ad alta disponibilità.
Cluster utente CP V2
La tabella seguente descrive a cosa servono i VIP e a dove configurarle per i cluster utente con il piano di controllo V2 abilitato.
VIP | Configurazione |
---|---|
VIP per il server API Kubernetes del cluster utente | Il file di configurazione del cluster utente
Campo loadBalancer.vips.controlPlaneVIP |
VIP per il servizio in entrata nel cluster utente | Il file di configurazione del cluster utente
Campo loadBalancer.vips.ingressVIP |
Cluster utente Kubeception
La tabella seguente descrive a cosa servono i VIP e a dove e configurarle per i cluster utente che usano kubeception.
VIP | Configurazione |
---|---|
VIP per il server API Kubernetes del cluster utente | Il file di configurazione del cluster utente
Campo loadBalancer.vips.controlPlaneVIP |
VIP per il servizio in entrata nel cluster utente | Il file di configurazione del cluster utente
Campo loadBalancer.vips.ingressVIP |
Mettere da parte nodePort
valori
In Google Distributed Cloud, il server API Kubernetes e il servizio in entrata sono
esposte dai servizi Kubernetes.
Con la modalità di bilanciamento del carico manuale, devi scegliere i tuoi valori nodePort
per
questi Servizi. Scegli valori compresi tra 30.000 e 32.767.
Configura i valori di nodePort
La posizione in cui configuri i valori nodePort
dipende dal fatto che il cluster utente abbia
ControlPlane V2 abilitato.
Cluster di amministrazione ad alta disponibilità
La seguente tabella descrive a cosa serve nodePort
e dove puoi
per i cluster di amministrazione ad alta disponibilità.
nodePort |
Configurazione |
---|---|
1.15 e precedenti: nodePort per i nodi dei componenti aggiuntivi |
Il file di configurazione del cluster di amministrazione
Campo loadBalancer.manualLB.addonsNodePort |
Nella versione 1.16 e successive, non è necessario configurare un nodePort
per
di nodi aggiuntivi per i cluster di amministrazione ad alta disponibilità.
Cluster di amministrazione non ad alta disponibilità
La seguente tabella descrive a cosa servono i valori nodePort
e dove puoi
e configurarle per i cluster di amministrazione
non ad alta disponibilità.
nodePort |
Configurazione |
---|---|
1.16 e precedenti: nodePort per l'API Kubernetes
server del cluster di amministrazione |
1.15 e precedenti: file di configurazione del cluster di amministrazione nella
Campo loadBalancer.vips.controlPlaneNodePort |
1.15 e precedenti: nodePort per i nodi dei componenti aggiuntivi |
Il file di configurazione del cluster di amministrazione
Campo loadBalancer.manualLB.addonsNodePort |
Nella versione 1.16 e successive, non è necessario configurare un nodePort
per
i nodi dei componenti aggiuntivi per i cluster di amministrazione non ad alta disponibilità.
Cluster utente CP V2
La seguente tabella descrive a cosa serve nodePorts
e dove puoi
configurarle per i cluster utente con il piano di controllo V2 abilitato.
nodePorts |
Configurazione |
---|---|
HTTP nodePort per il servizio in entrata nell'utente
cluster |
Il file di configurazione del cluster utente
loadBalancer.manualLB.ingressHTTPNodePort |
HTTPS nodePort per il servizio in entrata nell'utente
cluster |
Il file di configurazione del cluster utente
loadBalancer.manualLB.ingressHTTPSNodePort |
Non è necessario configurare un nodePort
per il VIP del piano di controllo
Google Distributed Cloud gestisce il bilanciamento del carico verso i nodi del piano di controllo per
di cluster utente con il piano di controllo V2 abilitato.
Cluster utente Kubeception
La seguente tabella descrive a cosa servono i valori nodePort
e dove puoi
e configurarle per i cluster utente che usano kubeception.
nodePort |
Configurazione |
---|---|
nodePort per il server API Kubernetes dell'utente
cluster |
Il file di configurazione del cluster utente
Campo loadBalancer.manualLB.controlPlaneNodePort |
nodePort per il server Konnectivity dell'utente
(il server Konnectivity utilizza il VIP del piano di controllo) |
Il file di configurazione del cluster utente
Campo loadBalancer.manualLB.konnectivityServerNodePort |
HTTP nodePort per il servizio in entrata nell'utente
cluster |
Il file di configurazione del cluster utente
loadBalancer.manualLB.ingressHTTPNodePort |
HTTPS nodePort per il servizio in entrata nell'utente
cluster |
Il file di configurazione del cluster utente
loadBalancer.manualLB.ingressHTTPSNodePort |
File di configurazione del cluster di esempio
L'esempio seguente mostra una parte di un cluster di amministrazione e di un cluster utente di configurazione del deployment:
Cluster di amministrazione ad alta disponibilità
Versione 1.16 e successive:
network: controlPlaneIPBlock: netmask: "255.255.248.0" gateway: "21.0.143.254" ips: - ip: "21.0.140.226" hostname: "admin-cp-vm-1" - ip: "21.0.141.48" hostname: "admin-cp-vm-2" - ip: "21.0.141.65" hostname: "admin-cp-vm-3" loadBalancer: vips: controlPlaneVIP: "172.16.21.40" kind: ManualLB
La versione 1.15 e le versioni precedenti richiedono un VIP e
nodeport
per nodi dei componenti aggiuntivi.network: controlPlaneIPBlock: netmask: "255.255.248.0" gateway: "21.0.143.254" ips: - ip: "21.0.140.226" hostname: "admin-cp-vm-1" - ip: "21.0.141.48" hostname: "admin-cp-vm-2" - ip: "21.0.141.65" hostname: "admin-cp-vm-3" loadBalancer: vips: controlPlaneVIP: "172.16.21.40" addonsVIP: "203.0.113.4" kind: ManualLB manualLB: addonsNodePort: 31405
Cluster di amministrazione non ad alta disponibilità
Versione 1.16 e successive:
network: ipMode: type: static ipBlockFilePath: "ipblock-admin.yaml" loadBalancer: vips: controlPlaneVIP: "172.16.21.40" kind: ManualLB manualLB: controlPlaneNodePort: 30562
La versione 1.15 e le versioni precedenti richiedono un VIP e
nodeport
per nodi dei componenti aggiuntivi.network: ipMode: type: static ipBlockFilePath: "ipblock-admin.yaml" loadBalancer: vips: controlPlaneVIP: "172.16.21.40" addonsVIP: "172.16.21.41" kind: ManualLB manualLB: controlPlaneNodePort: 30562 addonsNodePort: 30563
Cluster utente CP V2
network:
ipMode:
type: static
ipBlockFilePath: "ipblock1.yaml"
controlPlaneIPBlock:
netmask: "255.255.255.0"
gateway: "172.16.21.1"
ips:
- ip: "172.16.21.6"
hostname: "cp-vm-1"
- ip: "172.16.21.7"
hostname: "cp-vm-2"
- ip: "172.16.21.8"
hostname: "cp-vm-3"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
ingressVIP: "172.16.21.30"
kind: ManualLB
manualLB:
ingressHTTPNodePort: 30243
ingressHTTPSNodePort: 30879
Cluster utente Kubeception
network:
ipMode:
type: static
ipBlockFilePath: "ipblock1.yaml"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
ingressVIP: "172.16.21.30"
kind: ManualLB
manualLB:
ingressHTTPNodePort: 30243
ingressHTTPSNodePort: 30879
konnectivityServerNodePort: 30563
controlPlaneNodePort: 30562
Configura il bilanciatore del carico
Utilizza la console di gestione o gli strumenti del bilanciatore del carico per configurare quanto segue nel tuo bilanciatore del carico. Il modo in cui puoi farlo dipende dal tuo bilanciatore del carico.
Cluster di amministrazione ad alta disponibilità
Traffico verso i nodi del piano di controllo
Google Distributed Cloud gestisce automaticamente il bilanciamento del carico del piano di controllo
per i cluster di amministrazione ad alta disponibilità. Anche se non è necessario configurare una mappatura
nel bilanciatore del carico, devi specificare un indirizzo IP nella
campo loadBalancer.vips.controlPlaneVIP
.
Traffico verso i servizi nei nodi dei componenti aggiuntivi
1.15 e precedenti: di seguito viene mostrata la mappatura agli indirizzi IP e
Valori di nodePort
per il traffico verso i servizi nei nodi dei componenti aggiuntivi:
- (
addonsVIP
:8443) -> (NODE_IP_ADDRESSES:addonsNodePort
)
Aggiungi questa mappatura per tutti i nodi nel cluster di amministrazione, sia per il piano di controllo e i nodi dei componenti aggiuntivi.
Nella versione 1.16 e successive, non è necessario configurare questo mapping per di nodi aggiuntivi per i cluster di amministrazione ad alta disponibilità.
Cluster di amministrazione non ad alta disponibilità
Traffico del piano di controllo
Di seguito viene mostrata la mappatura all'indirizzo IP e al valore nodePort
per
dal nodo del piano di controllo:
- (
controlPlaneVIP
:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort
)
Aggiungi questa mappatura per tutti i nodi nel cluster di amministrazione, sia per il piano di controllo e ai nodi dei componenti aggiuntivi.
Traffico verso i servizi nei nodi dei componenti aggiuntivi
1.15 e precedenti: di seguito viene mostrata la mappatura agli indirizzi IP e
Valori di nodePort
per i servizi in esecuzione nei nodi dei componenti aggiuntivi:
- (
addonsVIP
:8443) -> (NODE_IP_ADDRESSES:addonsNodePort
)
Aggiungi questa mappatura per tutti i nodi nel cluster di amministrazione, sia per il piano di controllo e ai nodi dei componenti aggiuntivi.
Nella versione 1.16 e successive, non è necessario configurare questo mapping per i nodi dei componenti aggiuntivi per i cluster di amministrazione non ad alta disponibilità.
Cluster utente CP V2
Traffico del piano di controllo
Google Distributed Cloud gestisce automaticamente il bilanciamento del carico del piano di controllo
per i cluster utente con il piano di controllo V2 abilitato. Anche se
devi configurare una mappatura nel bilanciatore del carico, devi specificare
nel campo loadBalancer.vips.controlPlaneVIP
.
Traffico del piano dati
Di seguito viene mostrata la mappatura agli indirizzi IP e ai valori nodePort
per
per il traffico del piano dati:
- (
ingressVIP
:80
) -> (NODE_IP_ADDRESSES:ingressHTTPNodePort
) - (
ingressVIP
:443
) -> (NODE_IP_ADDRESSES:ingressHTTPSNodePort
)
Aggiungi queste mappature per tutti i nodi nel cluster utente, entrambi i nodi del piano di controllo e nodi worker. Poiché hai configurato NodePorts sul cluster, Kubernetes apre NodePorts su tutti i nodi del cluster. In questo modo qualsiasi nodo nel cluster per gestire il traffico del piano dati.
Dopo aver configurato le mappature, il bilanciatore del carico rimane in ascolto del traffico su l'indirizzo IP che hai configurato per il VIP in entrata del cluster utente su HTTP e HTTPS standard. Il bilanciatore del carico instrada le richieste a qualsiasi nodo nel cluster. Dopo che una richiesta viene instradata a uno dei nodi del cluster, il networking Kubernetes interno prende il comando e instrada la richiesta nel pod di destinazione.
Cluster utente Kubeception
Traffico del piano di controllo
Di seguito viene mostrata la mappatura agli indirizzi IP e ai valori nodePort
per
per il traffico del piano di controllo:
- (
controlPlaneVIP
:443
) -> (NODE_IP_ADDRESSES:controlPlaneNodePort
) - (
controlPlaneVIP
:8132
) -> (NODE_IP_ADDRESSES:konnectivityServerNodePort
)
Aggiungi questa mappatura per tutti i nodi nel cluster admin, sia nel cluster di amministrazione e i nodi del piano di controllo del cluster utente.
Traffico del piano dati
Di seguito viene mostrata la mappatura agli indirizzi IP e ai valori nodePort
per
per il traffico del piano dati:
- (
ingressVIP
:80
) -> (NODE_IP_ADDRESSES:ingressHTTPNodePort
) - (
ingressVIP
:443
) -> (NODE_IP_ADDRESSES:ingressHTTPSNodePort
)
Aggiungi queste mappature per tutti i nodi nel cluster utente. Con cluster utente usando kubeception, tutti i nodi nel cluster sono nodi worker.
Reimpostazione delle connessioni ai nodi con errori (consigliato)
Oltre ai requisiti precedenti, ti consigliamo di configurare il carico per reimpostare le connessioni client quando rileva un errore del nodo di backend. Senza questa configurazione, i client del server API Kubernetes possono arrestarsi rispondere per diversi minuti quando un'istanza del server smette di funzionare, causando instabilità nel piano di controllo Kubernetes.
- Con F5 BIG-IP, questa impostazione è denominata Azione in caso di inattività del servizio nel backend di configurazione del pool.
- Con HAProxy, questa impostazione viene chiamata sessioni di arresto con flag down-marked nel del server di backend.
- Se usi un bilanciatore del carico diverso, consulta la documentazione per trovare l'impostazione equivalente.
Richiesta di assistenza per il bilanciamento del carico manuale
Google non fornisce assistenza per i bilanciatori del carico configurati utilizzando il carico manuale e la modalità di bilanciamento del carico. In caso di problemi con il bilanciatore del carico, contatta il del bilanciatore del carico.