В моем тестовом кластере я использую Kubernetes с Фланель в качестве оверлейной сети.Я также использую Wireguard для соединений vpn и p2p между каждым узлом kubernetes.
Весь трафик между узлами и контейнером-контейнером работает нормально, и я могу подтвердитьтрафик проходит через интерфейс wg0
(wireguard).Трафик в основном течет из контейнера в docker0
в cni0
(я думаю) в flannel.1
в wg0
вне сервера.
Моя проблема в том, что всякий раз, когда я перезагружаю wireguard с systemctl restart wg-quick@wg0
,интерфейс wg0
быстро удаляется и снова добавляется, что приводит к полному исчезновению интерфейса flannel.1
.
Я могу вернуть интерфейс flannel.1, запустив kubectl --namespace=kube-system delete pod -l app=flannel
, но это не всегдабыстрое подключение к сети между хостами прерывается до запуска новых модулей.
Я развернул фланель на kubernetes, применив https://github.com/coreos/flannel/blob/v0.10.0/Documentation/kube-flannel.yml, но добавив --iface=wg0
к аргументам flanneld.
Есть ли способ заставить фланель определить, что интерфейс отсутствует, и восстановить его, или какой-нибудь другой обходной путь для достижения аналогичных результатов?