Назад | Перейти на главную страницу

«Ip route get» дает «Нет маршрута к хосту» в Linux CentOS 7.7

Я исследовал основную причину проблемы с маршрутизацией волос в кластере centos7 ...

Поведение:

## Check route from container to service host outside of cluster
ip route get to 172.17.27.1 from 10.233.70.32 iif cni0
## Works just fine as metioned. Result:
# 172.17.27.1 from 10.233.70.32 dev ens192 
# cache iif cni0 

## Check route from service host outside of cluster back to container
ip route get to 10.233.70.32 from 172.17.27.1 iif ens192
## Does not work. Error Msg:
# RTNETLINK answers: No route to host
default via 172.17.0.2 dev ens192 proto static 
10.233.64.0/24 via 10.233.64.0 dev flannel.1 onlink 
10.233.65.0/24 via 10.233.65.0 dev flannel.1 onlink 
10.233.66.0/24 via 10.233.66.0 dev flannel.1 onlink 
10.233.67.0/24 via 10.233.67.0 dev flannel.1 onlink 
10.233.68.0/24 via 10.233.68.0 dev flannel.1 onlink 
10.233.69.0/24 via 10.233.69.0 dev flannel.1 onlink 
10.233.70.0/24 dev cni0 proto kernel scope link src 10.233.70.1 # this is the local container network  
10.233.71.0/24 via 10.233.71.0 dev flannel.1 onlink 
172.17.0.0/18 dev ens192 proto kernel scope link src 172.17.31.118 
192.168.1.0/24 dev docker0 proto kernel scope link src 192.168.1.5 linkdown 

Любые идеи? намекает?

Спасибо большое!

Наконец мы смогли выяснить, что вызывает такое странное поведение. Оказалось, что на неработающем кластере помимо NetworkManager был установлен «systemd-networkd».

В этом случае "systemd-networkd" был активен только в течение короткого периода во время загрузки. Очевидно, это поведение оставило сетевой стек в слегка поврежденном состоянии.

Отключение "systemd-networkd" и повторное развертывание кубернетов на этих машинах устранило эту проблему.