Questo documento fornisce un esempio di come allocare indirizzi IP per un cluster di amministrazione ad alta disponibilità (HA) e due cluster utente HA.
Prima di iniziare
Per informazioni su cluster di amministrazione, cluster utente e alta disponibilità, consulta Scegliere un modello di deployment.
Esempio di allocazione degli indirizzi IP
Questa sezione fornisce un esempio di come allocare gli indirizzi IP in un'installazione 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 control plane e i proxy di ingresso
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 i componenti del piano di controllo.
Nodi del cluster utente
In questo esempio, ogni cluster utente ha sei nodi: tre nodi del piano di controllo e tre nodi worker.
Bilanciamento del carico
Per questo esempio, supponiamo che i cluster utilizzino il bilanciatore del carico MetalLB in bundle. 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 che i cluster si trovino in queste subnet:
Cluster | Subnet | Gateway predefinito |
---|---|---|
Cluster di amministrazione | 172.16.20.0/24 | 172.16.20.1 |
Cluster di utenti 1 | 172.16.21.0/24 | 172.16.21.1 |
Cluster di utenti 2 | 172.16.22.0/24 | 172.16.22.1 |
Il diagramma seguente illustra le tre sottoreti. Tieni presente che i VIP non vengono associati a nessun nodo specifico in un cluster. Questo perché il bilanciatore del carico MetalLB può scegliere quale nodo annuncia il VIP per un singolo servizio. Ad esempio, nel cluster utente 1, un nodo potrebbe annuncire 172.16.21.52 e un altro nodo potrebbe annuncire 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, che eseguono tutti i componenti del piano di controllo. Ad esempio, puoi utilizzare i seguenti indirizzi IP per i nodi del cluster di amministrazione. Gli indirizzi in questo esempio sono consecutivi, ma non è un requisito:
Indirizzi IP dei nodi nel cluster di amministrazione |
---|
172.16.20.2 - 172.16.20.4 |
Indirizzo IP di esempio: VIP del control plane per il cluster di amministrazione
Devi riservare un VIP per il server API Kubernetes del cluster di amministrazione.
Nel file di configurazione del cluster, si chiama controlPlaneVIP
.
Ad esempio, puoi riservare il seguente indirizzo IP da utilizzare come VIP del control plane per il cluster di amministrazione:
VIP del piano di controllo per il cluster di amministrazione |
---|
172.16.20.50 |
Indirizzi IP di esempio: nodi del cluster utente 1
Esempio: puoi utilizzare i seguenti indirizzi IP per tre nodi del piano di controllo e tre nodi worker nel cluster utente 1. Gli indirizzi in questo esempio sono consecutivi, ma non è un requisito:
Indirizzi IP dei nodi del cluster utente 1 |
---|
172.16.21.2 - 172.16.21.7 |
Indirizzi IP di esempio: VIP per il cluster utente 1
La tabella seguente mostra un esempio di come designare i VIP da configurare sul bilanciatore del carico per il cluster di utenti 1. I VIP in questo esempio sono consecutivi, ma 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 il cluster utente 1 | Dieci indirizzi per i servizi di tipo LoadBalancer .Configurato in base alle esigenze sul bilanciatore del carico per il cluster di utenti 1. Tieni presente che questo intervallo include l'IP virtuale di ingresso. Questo è un requisito per il bilanciatore MetalLB. |
172.16.21.51 - 172.16.21.60 |
Indirizzi IP di esempio: 2 nodi del cluster utente
Esempio: puoi utilizzare i seguenti indirizzi IP per i nodi del cluster utente 2. Gli indirizzi in questo esempio sono consecutivi, ma non è un requisito:
Indirizzi IP dei nodi del cluster utente 2 |
---|
172.16.22.2 - 172.16.22.7 |
Indirizzi IP di esempio: VIP per il cluster utente 2
La tabella seguente mostra un esempio di come designare i VIP da configurare sul bilanciatore del carico per il cluster di utenti 2. I VIP in questo esempio sono consecutivi, ma 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 il cluster utente 2 | Dieci indirizzi per i servizi di tipo LoadBalancer .Configurato in base alle esigenze sul bilanciatore del carico per il cluster di utenti 2. Tieni presente che questo intervallo include l'IP virtuale di ingresso. 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 un
CIDR
da utilizzare 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 i pod e i 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 i seguenti punti:
L'intervallo CIDR del pod può essere lo stesso per più cluster nel modello di rete predefinito in modalità isola. In una rete in modalità flat, i pod devono avere indirizzi IP univoci in tutti i cluster. Per ulteriori informazioni sui modelli di rete che interessano i pod, consulta Modelli di rete in modalità Flat e Island.
L'intervallo CIDR del servizio può essere lo stesso per più cluster.
In genere sono necessari più pod che servizi, quindi per un determinato cluster probabilmente vorrai un intervallo CIDR del pod più grande dell'intervallo CIDR del servizio. L'intervallo di pod di esempio per un cluster di utenti è 192.168.0.0/16, che ha 2^(32-16) = 2^16 indirizzi. Tuttavia, un intervallo di servizio di esempio per un cluster di utenti è 10.96.0.0/20, che ha solo 2^(32-20) = 2^12 indirizzi.
Evitare la sovrapposizione
Fai attenzione che gli intervalli CIDR non si sovrappongano agli indirizzi IP accessibili nella tua rete. Gli intervalli di servizi e pod non devono sovrapporsi a nessun indirizzo esterno al cluster che vuoi raggiungere dall'interno del cluster.
Ad esempio, supponiamo che l'intervallo del servizio sia 10.96.0.0/20 e l'intervallo del pod sia 192.168.0.0/16. Qualsiasi traffico inviato da un pod a un indirizzo in uno di questi intervalli verrà trattato come traffico all'interno del cluster e non raggiungerà alcuna destinazione al di fuori 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 del bilanciatore del carico
VIP utilizzati dai nodi del control plane e dai bilanciatori del carico
Indirizzi IP dei server DNS e NTP
Ti consigliamo di inserire gli intervalli di servizi e pod nello spazio di indirizzi privati RFC 1918.
Ecco un motivo per cui consigliamo di utilizzare gli indirizzi RFC 1918. Supponiamo che l'intervallo del pod o del servizio contenga indirizzi IP esterni. Qualsiasi traffico inviato da un pod a uno di questi indirizzi esterni verrà trattato come traffico all'interno del cluster e non raggiungerà la destinazione esterna.
Variazioni per l'allocazione degli indirizzi IP
L'esempio riportato in questo documento mostra un modo per allocare gli indirizzi IP per un determinato tipo di installazione. Tuttavia, esistono diversi modi per installare Google Distributed Cloud e la variante scelta influisce sulla pianificazione degli indirizzi IP.
Ad esempio, potresti decidere di utilizzare cluster non ad alta disponibilità o di distribuire i nodi del cluster su più domini di livello 2. Potresti decidere di utilizzare una rete in modalità piatta anziché una in modalità isola.
Per esempi di come gli indirizzi IP vengono specificati nei file di configurazione del cluster per vari tipi di installazioni, consulta Esempi di configurazione dei cluster
Per saperne di più su come pianificare gli indirizzi IP per diversi tipi di installazioni, consulta i seguenti documenti:
Modello di rete con modalità flat e in isola
In modalità flat, i pod hanno indirizzi univoci in più di un cluster. Modifica gli intervalli CIDR dei pod di conseguenza.
Configurazione di rete IPv4/IPv6 a doppio stack
Nodi, pod e servizi hanno indirizzi IPv4 e IPv6. La rete IPv6 è in modalità flat, ma la rete IPv4 può essere in modalità isolata o flat. Per le reti in modalità flat, devi organizzare la raggiungibilità del pod.
Implementare il modello di rete piatto in modalità IPv4
Devi organizzare la raggiungibilità del pod. Crea sottoinsiemi di intervalli di pod e nodi di un intervallo più ampio.
Implementa il modello di rete in modalità flat con il supporto di BGP
Devi disporre di indirizzi IP flottanti per gli speaker BGP nel cluster e devi specificare gli indirizzi IP dei router peer.
Configurare i bilanciatori del carico integrati con BGP
Devi disporre di indirizzi IP flottanti per gli speaker BGP nel cluster e devi specificare gli indirizzi IP dei router peer.
Configurare Network Connectivity Gateway
Devi specificare gli indirizzi IP dei peer e gli indirizzi IP del tunnel locale.