Aller au contenu

Atelier n°11 : Provisionnement des routes réseau des pods

Info

Il s'agit d'un fork de l'original "Kubernetes the hard way" écrit à l'origine par Kelsey Hightower (GitHub : kelseyhightower). Contrairement à l'original, qui se base sur des distributions de type Debian pour l'architecture ARM64, ce fork cible les distributions Enterprise Linux telles que Rocky Linux, qui fonctionne sur l'architecture x86_64.

Les pods planifiés sur un nœud reçoivent une adresse IP de la plage CIDR du pod du nœud. Actuellement, les pods ne peuvent pas communiquer avec d’autres pods exécutés sur des nœuds différents en raison de l’absence de [routes] réseau(https://cloud.google.com/compute/docs/vpc/routes).

Dans cet atelier, vous allez créer un itinéraire pour chaque nœud de travail qui mappe la plage CIDR du pod du nœud à l'adresse IP interne du nœud.

Il existe d'autres façons d'implémenter le modèle de réseau Kubernetes.

Table de Routage

Dans cette section, vous rassemblerez les informations nécessaires pour créer des itinéraires dans le réseau VPC kubernetes-the-hard-way.

Affichez l'adresse IP interne et la plage CIDR du pod pour chaque instance de travail :

{
  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

Vérification

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 

Suivant : Smoke Test

Author: Wale Soyinka

Contributors: Steven Spencer, Ganna Zhyrnova