Questo documento fornisce un esempio di come allocare gli indirizzi IP per un cluster di amministrazione ad alta disponibilità e due cluster utente ad alta disponibilità.
Prima di iniziare
Per saperne di più su cluster di amministrazione, cluster utente e 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 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 piani di controllo e proxy Ingress
VIP da utilizzare come indirizzi IP esterni per i servizi
Nodi cluster di amministrazione
Il cluster di amministrazione in questo esempio ha tre nodi. Ogni nodo esegue i componenti del piano di controllo.
Nodi 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 | 162.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 seguente diagramma illustra le tre subnet. Tieni presente che i VIP non vengono visualizzati 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 annunciare 172.16.21.52 e un nodo diverso potrebbe annunciare 172.16.21.53.
Esempi di indirizzi IP: 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 nel cluster di amministrazione. Gli indirizzi in questo esempio sono consecutivi, ma 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 di Kubernetes del cluster di amministrazione.
Nel file di configurazione del cluster è chiamato 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 |
Indirizzi IP di esempio: nodi del cluster utente 1
Esempio: potresti 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 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 seguente mostra un esempio di come designare i VIP sul bilanciatore del carico per il cluster utente 1. In questo esempio i VIP sono consecutivi, ma non è obbligatorio:
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 di servizi di tipo LoadBalancer .Configurato in base alle esigenze sul bilanciatore del carico per il cluster utente 1. Tieni presente che questo intervallo include il VIP Ingress. Questo è un requisito del bilanciatore del metallo. |
172/16/21.51 - 172/16/21/60 |
Indirizzi IP di esempio: 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 non è un requisito:
Indirizzi IP per i nodi nel cluster utente 2 |
---|
172/16/22.2 - 172/16/22.7 |
Esempi di indirizzi IP: VIP per il cluster utente 2
La tabella seguente mostra un esempio di come designare i VIP sul bilanciatore del carico per il cluster utente 2. In questo esempio i VIP sono consecutivi, ma non è obbligatorio.
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 Ingress per 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 di servizi di tipo LoadBalancer .Configurato in base alle esigenze sul bilanciatore del carico per il cluster utente 2. Tieni presente che questo intervallo include il VIP Ingress. Questo è un requisito per il bilanciatore del carico MetalLB. |
172/16/22.51 - 172/16/22.60 |
Esempi di indirizzi IP: pod e servizi
Prima di creare un cluster, devi specificare un intervallo 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 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.232.0/24 |
Servizi nel cluster utente 1 | 10.96.0.0/20 |
Servizi nel cluster utente 2 | 10.96.128.0/20 |
Gli esempi precedenti illustrano questi punti:
L'intervallo CIDR pod può essere uguale per più cluster.
In genere sono necessari più pod che servizi, quindi per un dato cluster è probabile che tu voglia un intervallo CIDR pod superiore all'intervallo CIDR servizi. L'intervallo di pod di esempio per un cluster utente è 192.168.0.0/16, che ha 2^(32-16) = 2^16 indirizzi. Tuttavia, un intervallo di servizi di esempio per un cluster utente è 10.96.0.0/20, che ha solo 2^(32-20) = 2^12 indirizzi.
Evita sovrapposizioni
Assicurati che gli intervalli CIDR non si sovrappongano agli indirizzi IP raggiungibili nella tua rete. Gli intervalli di servizi e pod non devono sovrapporsi ad alcun indirizzo esterno al cluster che vuoi raggiungere dall'interno del cluster.
Ad esempio, supponiamo che il tuo intervallo di servizi sia 10.96.0.0/20 e che l'intervallo di pod sia 192.168.0.0/16. Tutto il traffico inviato da un pod a un indirizzo in uno di questi intervalli verrà considerato come traffico in-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 piano di controllo e dai bilanciatori del carico
Indirizzi IP dei server DNS e dei server NTP
Consigliamo di inserire gli intervalli di servizi e pod nello spazio di indirizzi privato RFC 1918.
Ecco un motivo per cui è consigliabile utilizzare indirizzi RFC 1918. Supponiamo che l'intervallo di pod o servizi contenga indirizzi IP esterni. Tutto il traffico inviato da un pod a uno di questi indirizzi esterni verrà considerato come traffico in-cluster e non raggiungerà la destinazione esterna.
Variazioni dell'allocazione degli indirizzi IP
L'esempio riportato in questo documento mostra un modo per assegnare gli indirizzi IP per un determinato tipo di installazione. Tuttavia, esistono diversi modi per installare Anthos clusters on bare metal e la variante scelta influirà sul modo in cui pianifichi i tuoi indirizzi IP.
Ad esempio, potresti decidere di utilizzare cluster non ad alta disponibilità o i nodi dei cluster 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 sono specificati nei file di configurazione del cluster per vari tipi di installazioni, consulta gli esempi di configurazione del cluster
Per ulteriori informazioni su come pianificare gli indirizzi IP per diversi tipi di installazioni, consulta i seguenti documenti:
Modello di rete in modalità piatta e isolana
In modalità piatta, i pod hanno indirizzi univoci in più di un cluster. Modifica gli intervalli CIDR dei pod di conseguenza.
Configurazione del doppio stack IPv4/IPv6
I nodi, i pod e i servizi hanno indirizzi IPv4 e IPv6. La rete IPv6 è in modalità piatta, ma può trovarsi in modalità isola o in modalità piatta. Per le reti in modalità piatta, devi organizzare la connettività dei pod.
Implementazione del modello di rete in modalità IPv4 piatto
Devi organizzare la connettività dei pod. Imposta sottoinsiemi di intervalli di pod e intervalli di nodi più ampi.
Implementare un modello di rete in modalità piatta con il supporto BGP
Devi disporre di indirizzi IP mobili per gli altoparlanti BGP nel tuo cluster e specificare gli indirizzi IP dei router peer.
Configura bilanciatori del carico in bundle con BGP
Devi disporre di indirizzi IP mobili per gli altoparlanti BGP nel tuo cluster e specificare gli indirizzi IP dei router peer.
Configura gateway di connettività di rete
Devi specificare gli indirizzi IP peer e gli indirizzi IP locali del tunnel.