노드에 할당 된 pod는 Node의 Pod CIDR 범위에서 IP주소를 받습니다. 현재 Pod는 네트워크 라우팅 설정이 안되어있어 다른 노드에 실행 중인 다른 Pod와 통신을 할 수 없습니다.
이번 랩에서는 각 worker node에 대해 노드의 POD CIDR 범위를 노드의 내부 IP 주소에 매핑하는 경로를 생성하는 작업을 진행합니다.
https://kubernetes.io/docs/concepts/cluster-administration/networking/#how-to-achieve-this
이번 섹션에서는 kubernetes-the-hard-way
VPC 네트워크에서 route를 생성하는데 필요한 정보를 수집합니다.
각 서버들의 내부 IP 주소와 Pod CIDR 범위를 추출합니다.
{
CONTROLPLANE_1_IP=$(grep controlplane-1 /k8s-hardway/machines.txt | cut -d " " -f 1)
NODE_1_IP=$(grep node-1 /k8s-hardway/machines.txt | cut -d " " -f 1)
NODE_1_SUBNET=$(grep node-1 /k8s-hardway/machines.txt | cut -d " " -f 4)
NODE_2_IP=$(grep node-2 /k8s-hardway/machines.txt | cut -d " " -f 1)
NODE_2_SUBNET=$(grep node-2 /k8s-hardway/machines.txt | cut -d " " -f 4)
}
ssh root@controlplane-1 <<EOF
ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
ip route add ${NODE_2_SUBNET} via ${NODE_2_IP}
EOF
ssh root@node-1 <<EOF
ip route add ${NODE_2_SUBNET} via ${NODE_2_IP}
EOF
ssh root@node-2 <<EOF
ip route add ${NODE_1_SUBNET} via ${NODE_1_IP}
EOF
ssh root@controlplane-1 ip route
default via 10.0.32.1 dev enp3s0
192.168.10.0/24 via 10.0.34.93 dev enp3s0
192.168.11.0/24 via 10.0.32.237 dev enp3s0
ssh root@node-1 ip route
default via 10.0.32.1 dev enp3s0
192.168.11.0/24 via 10.0.32.237 dev enp3s0
ssh root@node-2 ip route
default via 10.0.32.1 dev enp3s0
192.168.10.0/24 via 10.0.34.93 dev enp3s0
Next: Smoke Test