Vai al contenuto

Laboratorio 11: Provisioning delle rotte di rete dei Pod

Info

Si tratta di un fork dell'originale "Kubernetes the hard way" scritto originariamente da Kelsey Hightower (GitHub: kelseyhightower). A differenza dell'originale, che si basa su distribuzioni simili a Debian per l'architettura ARM64, questo fork si rivolge a distribuzioni Enterprise Linux come Rocky Linux, che gira su architettura x86_64.

I pod assegnati a un nodo ricevono un indirizzo IP dall'intervallo CIDR dei pod del nodo. Attualmente, i pod non possono comunicare con altri pod in esecuzione su nodi diversi a causa della mancanza dei [percorsi di rete] (https://cloud.google.com/compute/docs/vpc/routes).

In questo laboratorio si creerà un percorso per ciascun nodo di lavoro che mappa l'intervallo CIDR del pod del nodo all'indirizzo IP interno del nodo.

Esistono altri modi per implementare il modello di rete Kubernetes.

La tabella di instradamento

In questa sezione si raccoglieranno le informazioni necessarie per creare percorsi nella rete VPC kubernetes-the-hard-way.

Stampare l'indirizzo IP interno e l'intervallo CIDR del pod per ogni istanza di lavoro:

{
  SERVER_IP=$(grep server machines.txt | cut -d " " -f 1)
  NODE_0_IP=$(grep node-0 machines.txt | cut -d " " -f 1)
  NODE_0_SUBNET=$(grep node-0 machines.txt | cut -d " " -f 5)
  NODE_1_IP=$(grep node-1 machines.txt | cut -d " " -f 1)
  NODE_1_SUBNET=$(grep node-1 machines.txt | cut -d " " -f 5)
}
ssh root@server <<EOF
  ip route add ${NODE_0_SUBNET} via ${NODE_0_IP}
  ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
ssh root@node-0 <<EOF
  ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
ssh root@node-1 <<EOF
  ip route add ${NODE_0_SUBNET} via ${NODE_0_IP}
EOF

Verifica

ssh root@server ip route
default via XXX.XXX.XXX.XXX dev ens160 
10.200.0.0/24 via XXX.XXX.XXX.XXX dev ens160 
10.200.1.0/24 via XXX.XXX.XXX.XXX dev ens160 
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX 
ssh root@node-0 ip route
default via XXX.XXX.XXX.XXX dev ens160 
10.200.1.0/24 via XXX.XXX.XXX.XXX dev ens160 
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX 
ssh root@node-1 ip route
default via XXX.XXX.XXX.XXX dev ens160 
10.200.0.0/24 via XXX.XXX.XXX.XXX dev ens160 
XXX.XXX.XXX.0/24 dev ens160 proto kernel scope link src XXX.XXX.XXX.XXX 

Successivo: Smoke Test

Author: Wale Soyinka

Contributors: Steven Spencer, Ganna Zhyrnova