Пинг другой пакет в той же & другой пакет - PullRequest
0 голосов
/ 20 сентября 2019

Я бы хотел пропинговать B pod (узел 1) с A pod (узел 0), но он недоступен.Однако pinging pod в том же узле также не может быть доступенЯ настраиваю новый кластер для пробования Kubernetes из Kelsey .

Я пытался использовать эту ссылку в качестве моей справки Kubernetes: Не могу пропинговать стручки через узлы

Node - IP Private - IP Pod
worker-0 - 10.240.0.20 - 10.200.0.0/24
worker-1 - 10.240.0.21 - 10.200.1.0/24
worker-2 - 10.240.0.22 - 10.200.2.0/24

маршрут -n

работник-0

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.240.0.1      0.0.0.0         UG    100    0        0 ens4
10.200.0.0      0.0.0.0         255.255.255.0   U     0      0        0 cnio0
10.240.0.1      0.0.0.0         255.255.255.255 UH    100    0        0 ens4
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0

работник-1

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.240.0.1      0.0.0.0         UG    100    0        0 ens4
10.200.1.0      0.0.0.0         255.255.255.0   U     0      0        0 cnio0
10.240.0.1      0.0.0.0         255.255.255.255 UH    100    0        0 ens4
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0

worker-2

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.240.0.1      0.0.0.0         UG    100    0        0 ens4
10.200.2.0      0.0.0.0         255.255.255.0   U     0      0        0 cnio0
10.240.0.1      0.0.0.0         255.255.255.255 UH    100    0        0 ens4
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0

Я завершил настройку VPC Netowrk Routes, как этот link .

После этого я следовал этой ссылке Kubernetes: Не могу пинговать стручки через узлы

route add -net 10.200.1.0 netmask 255.255.255.0 gw 10.240.0.21 в worker-0

Результат

SIOCADDRT: Network is unreachable

Я попробовал это в работнике-0, работнике-1, работнике-2 и получил тот же результат.Даже если работник-0 может пропинговать работника-1 (10.240.0.21), достижимо.

Мои ожидания, когда я нахожусь в модуле А (работник-0) с IP-модулем 10.200.0.3, я могу пинговать в модуле Б(рабочий-1) с IP Pod 10.200.1.3.А также, я могу пинговать к Pod C (worker-0) так же, как к Pod A.

Должен ли этот шаг использовать Calico или Flannel?или Должны ли мы пинговать другие модули из другого узла без Calico или Flannel (только настройка CNI)?

Дополнительная информация

Я использую Docker, а не runc & containerderd.Итак, я установил Docker вручную по этой ссылке .

В kubelet.service, --container-runtime=remote становится --container-runtime=docker

1 Ответ

0 голосов
/ 20 сентября 2019

Попробуйте добавить маршруты следующим образом:

Worker-0:
$ sudo route add -net 10.200.1.0 netmask 255.255.255.0 gw 10.240.0.21
$ sudo route add -net 10.200.2.0 netmask 255.255.255.0 gw 10.240.0.22

Worker-1:
$ sudo route add -net 10.200.0.0 netmask 255.255.255.0 gw 10.240.0.20
$ sudo route add -net 10.200.2.0 netmask 255.255.255.0 gw 10.240.0.22

Worker-2:
$ sudo route add -net 10.200.0.0 netmask 255.255.255.0 gw 10.240.0.20
$ sudo route add -net 10.200.1.0 netmask 255.255.255.0 gw 10.240.0.21
...