Pianifica gli indirizzi IP

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 scoprire 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 questi 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 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 i componenti del control plane.

Nodi del cluster utente

In questo esempio, ogni cluster utente ha sei nodi: tre nodi del control plane e tre nodi worker.

Bilanciamento del carico

Per questo esempio, supponiamo che i cluster utilizzino il bilanciamento 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 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 gli IP virtuali non vengono mostrati associati a un 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 altro nodo potrebbe annunciare 172.16.21.53.

Indirizzi IP per un cluster di amministrazione e due cluster utente.
Indirizzi IP per un cluster di amministrazione e due cluster utente (fai clic per ingrandire)

Indirizzi IP di esempio: nodi del cluster di amministrazione

Hai bisogno di tre indirizzi IP per i nodi del cluster di amministrazione, tutti eseguiti componenti del control plane. Ad esempio, potresti 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

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, questo parametro è denominato controlPlaneVIP. Ad esempio, puoi riservare il seguente indirizzo IP da utilizzare come VIP del control plane per il cluster di amministrazione:

VIP del control plane 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 control plane 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

Indirizzi IP di esempio: VIP per il cluster utente 1

La seguente tabella mostra un esempio di come potresti designare i VIP da configurare sul bilanciatore del carico per il cluster utente 1. I VIP in questo esempio sono consecutivi, ma non è un requisito:

VIP Descrizione Indirizzo IP
VIP del control plane 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 utente 1.
Tieni presente che questo intervallo include l'IP virtuale Ingress.
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: 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

Indirizzi IP di esempio: VIP per il cluster utente 2

La seguente tabella mostra un esempio di come potresti designare i VIP da configurare sul bilanciatore del carico per il cluster utente 2. I VIP in questo esempio sono consecutivi, ma non è un requisito obbligatorio.

VIP Descrizione Indirizzo IP
VIP del control plane 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 utente 2.
Tieni presente che questo intervallo include l'IP virtuale Ingress.
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 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 vuoi utilizzare per pod e servizi. Ad esempio:

FinalitàIntervallo CIDR
Pod nel cluster di amministrazione192.168.0.0/16
Pod nel cluster utente 1192.168.0.0/16
Pod nel cluster utente 2192.168.0.0/16
Servizi nel cluster di amministrazione10.96.0.0/20
Servizi nel cluster utente 110.96.0.0/20
Servizi nel cluster utente 210.96.0.0/20

Gli esempi precedenti illustrano questi punti:

  • L'intervallo CIDR del pod può essere lo stesso per più cluster nel modello di rete predefinito in modalità isolata. In una rete in modalità flat, i pod devono avere indirizzi IP univoci in tutti i cluster. Per saperne di più sui modelli di rete che interessano i pod, consulta Modelli di rete in modalità flat e isolata.

  • L'intervallo CIDR del servizio può essere lo stesso per più cluster.

  • In genere hai bisogno di più pod che servizi, quindi per un determinato cluster, probabilmente vuoi 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. 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

Assicurati che gli intervalli CIDR non si sovrappongano agli indirizzi IP raggiungibili 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 di servizi sia 10.96.0.0/20 e l'intervallo di 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 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 control plane e dai bilanciatori del carico

  • Indirizzi IP dei server DNS e NTP

Ti consigliamo di utilizzare intervalli di servizi e pod nello spazio di indirizzi privati RFC 1918.

Ecco un motivo per cui è consigliabile utilizzare gli indirizzi RFC 1918. Supponiamo che l'intervallo di pod o servizi contenga indirizzi IP esterni. Il traffico inviato da un pod a uno di questi indirizzi esterni verrà trattato come traffico in-cluster e non raggiungerà la destinazione esterna.

Varianti dell'allocazione degli indirizzi IP

L'esempio riportato in questo documento mostra un modo per allocare indirizzi IP per un particolare tipo di installazione. Tuttavia, esistono vari modi per installare Google Distributed Cloud e la variante scelta influirà sul modo in cui pianifichi gli 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 rete in modalità isolata.

Per esempi di come vengono specificati gli indirizzi IP nei file di configurazione del cluster per vari tipi di installazioni, vedi Esempi di configurazione dei cluster.

Per saperne di più su come pianificare gli indirizzi IP per i diversi tipi di installazioni, consulta i seguenti documenti: