Questo documento fornisce un esempio di come allocare indirizzi IP per una un cluster di amministrazione ad alta disponibilità e due cluster utente ad alta disponibilità.
Prima di iniziare
Per scoprire di più sui cluster di amministrazione, sui cluster utente e sull'alta disponibilità, consulta Scelta di un modello di deployment.
Esempio di allocazione degli indirizzi IP
Questa sezione fornisce un esempio di come allocare gli indirizzi IP in una che include i seguenti elementi:
Indirizzi IP per i nodi del cluster
Indirizzi IP per i pod
Indirizzi IP del cluster per i servizi
Indirizzi IP virtuali (VIP) per i piani di controllo e proxy in entrata
VIP da utilizzare come indirizzi IP esterni per i servizi
Nodi del cluster di amministrazione
Il cluster di amministrazione in questo esempio ha tre nodi. Ogni nodo esegue il piano di controllo componenti.
Nodi del cluster utente
In questo esempio, ogni cluster utente ha sei nodi: tre nodi del piano di controllo tre nodi worker.
Bilanciamento del carico
Per questo esempio, supponiamo che i cluster utilizzino il carico MetalLB in bundle con il bilanciatore del carico di rete passthrough esterno regionale. La il bilanciatore del carico viene eseguito sui nodi del cluster, quindi non sono necessarie macchine aggiuntive per il bilanciamento del carico.
Subnet
Per questo esempio, supponiamo che ogni cluster si trovi nel proprio dominio di livello 2, e i cluster si trovano in queste subnet:
Cluster | Subnet | Gateway predefinito |
---|---|---|
Cluster di amministrazione | 172.16.20.0/24 | 172.16.20.1 |
Cluster utente 1 | 172.16.21.0/24 | 172.16.21.1 |
Cluster utente 2 | 172.16.22.0/24 | 172.16.22.1 |
Il diagramma seguente illustra le tre subnet. Nota che i VIP associati a nodi specifici in un cluster. Questo perché il bilanciatore del carico MetalLB può scegliere quale nodo annuncia il VIP per servizio individuale. Ad esempio, nel cluster utente 1, un nodo potrebbe annuncia 172.16.21.52 e un nodo diverso potrebbe annunciare 172.16.21.53.
Indirizzi IP di esempio: nodi del cluster di amministrazione
Sono necessari tre indirizzi IP per i nodi del cluster di amministrazione, tutti in esecuzione i componenti del piano di controllo. Ad esempio, potresti utilizzare i seguenti indirizzi IP per i nodi nel cluster di amministrazione. Gli indirizzi in questo esempio sono consecutivi, ma questo non è un requisito:
Indirizzi IP per i nodi nel cluster di amministrazione |
---|
172.16.20.2 - 172.16.20.4 |
Esempio di indirizzo IP: VIP del piano di controllo per il cluster di amministrazione
Devi riservare un VIP per il server API Kubernetes del cluster di amministrazione.
Nel file di configurazione del cluster, è denominato controlPlaneVIP
.
Ad esempio, puoi mettere da parte il seguente indirizzo IP da utilizzare come
VIP del piano di controllo per il cluster di amministrazione:
VIP del piano di controllo per il cluster di amministrazione |
---|
172.16.20.50 |
Esempi di indirizzi IP: nodi del cluster utente 1
Esempio: puoi utilizzare i seguenti indirizzi IP per tre piani di controllo e tre nodi worker nel cluster utente 1. Gli indirizzi in questo esempio sono consecutivi, ma questo non è un requisito:
Indirizzi IP per i nodi nel cluster utente 1 |
---|
172.16.21.2 - 172.16.21.7 |
Esempi di indirizzi IP: VIP per il cluster utente 1
La tabella riportata di seguito offre un esempio di come puoi designare i VIP configurato sul bilanciatore del carico per il cluster utente 1. In questo esempio i VIP sono consecutivi, ma questo non è un requisito:
VIP | Descrizione | Indirizzo IP |
---|---|---|
VIP del piano di controllo per il cluster utente 1 | Configurato sul bilanciatore del carico per il cluster utente 1 | 172.16.21.50 |
VIP in entrata per il cluster utente 1 | Configurato sul bilanciatore del carico per il cluster utente 1 | 172/16/21/51 |
VIP di servizio per cluster utente 1 | Dieci indirizzi per i servizi di tipo LoadBalancer .Configurato in base alle esigenze sul bilanciatore del carico per il cluster utente 1. Nota che questo intervallo include il VIP in entrata. Questo è un requisito per il bilanciatore MetalLB. |
172.16.21.51 - 172.16.21.60 |
Esempi di indirizzi IP: nodi del cluster utente 2
Esempio: potresti utilizzare i seguenti indirizzi IP per i nodi nel cluster utente 2. Gli indirizzi in questo esempio sono consecutivi, ma questo non è un requisito:
Indirizzi IP per i nodi nel cluster utente 2 |
---|
172.16.22.2 - 172.16.22.7 |
Esempio di indirizzi IP: VIP per il cluster utente 2
La tabella riportata di seguito offre un esempio di come puoi designare i VIP configurato sul bilanciatore del carico per il cluster utente 2. I VIP in questo esempio sono consecutivi, ma questo non è un requisito.
VIP | Descrizione | Indirizzo IP |
---|---|---|
VIP del piano di controllo per il cluster utente 2 | Configurato sul bilanciatore del carico per il cluster utente 2 | 172.16.22.50 |
VIP in entrata per il cluster utente 2 | Configurato sul bilanciatore del carico per il cluster utente 2 | 172.16.22.51 |
VIP di servizio per cluster utente 2 | Dieci indirizzi per i servizi di tipo LoadBalancer .Configurato in base alle esigenze sul bilanciatore del carico per il cluster utente 2. Nota che questo intervallo include il VIP in entrata. Questo è un requisito per il bilanciatore del carico MetalLB. |
172.16.22.51 - 172.16.22.60 |
Indirizzi IP di esempio: pod e servizi
Prima di creare un cluster, devi specificare
CIDR
per gli indirizzi IP dei pod e un altro intervallo CIDR da utilizzare per
gli indirizzi ClusterIP
dei servizi Kubernetes.
Decidi quali intervalli CIDR vuoi utilizzare per pod e servizi. Ad esempio:
Finalità | Intervallo CIDR |
---|---|
Pod nel cluster di amministrazione | 192.168.0.0/16 |
Pod nel cluster utente 1 | 192.168.0.0/16 |
Pod nel cluster utente 2 | 192.168.0.0/16 |
Servizi nel cluster di amministrazione | 10.96.0.0/20 |
Servizi nel cluster utente 1 | 10.96.0.0/20 |
Servizi nel cluster utente 2 | 10.96.0.0/20 |
Gli esempi precedenti illustrano questi punti:
L'intervallo CIDR dei pod può essere lo stesso per più cluster nel valore predefinito, modello di rete in modalità isola. In una rete in modalità flat, i pod devono avere un IP univoco in tutti i cluster. Per ulteriori informazioni sulla rete che interessano i pod, consulta Modelli di rete piatti e in modalità a isola.
L'intervallo CIDR del servizio può essere lo stesso per più cluster.
In genere hai bisogno di più pod che servizi, quindi per un dato cluster è probabile che tu voglia un intervallo CIDR pod più grande dell'intervallo CIDR servizio. L'intervallo di pod di esempio per un cluster utente è 192.168.0.0/16, che ha 2^(32-16) = 2^16 indirizzi. Un intervallo di servizi di esempio per un utente il cluster è 10.96.0.0/20, che ha solo 2^(32-20) = 2^12 indirizzi.
Evita sovrapposizioni
Assicurati che gli intervalli CIDR non si sovrappongano a indirizzi IP raggiungibile nella tua rete. Gli intervalli di servizi e pod non devono sovrapporsi ad alcun all'esterno del cluster che vuoi raggiungere dall'interno del cluster.
Ad esempio, supponiamo che l'intervallo di servizi sia 10.96.0.0/20 e che l'intervallo di pod sia 192.168.0.0/16. Il traffico inviato da un pod a un indirizzo in uno di questi verranno trattati come traffico nel cluster e non raggiungeranno nessuna destinazione all'esterno del cluster.
In particolare, gli intervalli di servizi e pod non devono sovrapporsi a:
Indirizzi IP dei nodi in qualsiasi cluster
Indirizzi IP utilizzati dalle macchine dei bilanciatori del carico
VIP utilizzati dai nodi del piano di controllo e dai bilanciatori del carico
Indirizzi IP dei server DNS e dei server NTP
Ti consigliamo di far rientrare gli intervalli di servizi e pod RFC 1918 di indirizzi IP privati.
Ecco uno dei motivi per cui si consiglia di utilizzare indirizzi RFC 1918. Supponiamo che se il pod o l'intervallo di servizi contiene indirizzi IP esterni. Qualsiasi traffico inviato da un pod a uno di questi indirizzi esterni verrà trattato come traffico nel cluster e non raggiungerà la destinazione esterna.
Variazioni sull'allocazione degli indirizzi IP
L'esempio fornito in questo documento mostra un modo di allocare gli indirizzi IP per tipo di installazione specifica. Tuttavia, esistono vari modi per installare Google Distributed Cloud e la variante che scegli determinerà il modo in cui pianificare gli indirizzi IP.
Ad esempio, potresti decidere di usare cluster non ad alta disponibilità i nodi del cluster sono distribuiti su più domini di livello 2. Potresti decidere di utilizzare una rete in modalità piatta anziché una rete in modalità isola.
Per esempi di come gli indirizzi IP vengono specificati nei file di configurazione del cluster per i vari tipi di installazione, vedi Esempi di configurazione dei cluster
Per ulteriori informazioni su come pianificare gli indirizzi IP per diversi tipi di di installazione, consulta i seguenti documenti:
Modello di rete piatto e modalità a isola
In modalità flat, i pod hanno indirizzi univoci in più di un cluster. Regola gli intervalli CIDR dei pod di conseguenza.
Networking a doppio stack IPv4/IPv6
Nodi, pod e servizi hanno indirizzi sia IPv4 che IPv6. Il protocollo IPv6 la rete è in modalità flat, ma la rete IPv4 può essere in modalità a isola o modalità flat. Per le reti in modalità flat, devi organizzare la connettività dei pod.
Implementare un modello di rete in modalità IPv4 flat
Devi organizzare la connettività dei pod. Crea sottoinsiemi dell'intervallo di pod e dell'intervallo di nodi di un intervallo più ampio.
Implementare un modello di rete in modalità piatta con il supporto BGP
Ti servono indirizzi IP mobili per gli speaker BGP nel tuo cluster devi specificare gli indirizzi IP dei router peer.
Configura i bilanciatori del carico in bundle con BGP
Ti servono indirizzi IP mobili per gli speaker BGP nel tuo cluster devi specificare gli indirizzi IP dei router peer.
Configurare il gateway della connettività di rete
Devi specificare gli indirizzi IP peer e gli indirizzi IP dei tunnel locali.