Dmitriy
пошел пинг
Dmitriy
мне не нравится это поведение
Sergey
на сколько я помню докер надо запсукать с ключеком fulse для айпитеблс
Sergey
ибо в кубернетсе сеткой рулит кубе-прокси
Sergey
ну что касается айпитеблс
Maksim
ВЫ там белены покушали?)
Maksim
кубе-прокси лиш пишет правила для iptables
Maksim
ни кто там ничего в монополию не уводит)
Sergey
я не про куб прокси
Sergey
а про докер
Maksim
докер то же
Maksim
)))
Sergey
рили?
Sergey
ну зайдите на гитхаб почитайте вопли на счет forward)
Maksim
ну как бы не льзя забрать такую вещь как ipfilter в монополюи
Sergey
окей, перефразирую
Sergey
докер считает что кроме него никто больше нетфильтром не керует
Sergey
так лучше?
Maksim
докер им то же не пользуется
Maksim
..не может.....
Maksim
им пользуется сетевой стек ядра
Maksim
и передаёт данные докеру
Maksim
вернее аппликативу
Dmitriy
буквально месяц назад поднимал кластер k8s и проблемы такой не было, потому как припоминается что правило FORWARD вроде как было ACCEPT
Sergey
докер дергает нетфильтер
Maksim
докер же разделяет сети через nm
Dmitriy
версия docker была 1.12.x, в данный момент версия 1.13
Dmitriy
у меня редхатовская сборка docker
Dmitriy
у меня также стали доступны адреса сервисов!!!
Dmitriy
спасибо за помощь!
Sergey
grep -ir "iptables" * |grep -i forward|grep -i drop components/engine/vendor/github.com/docker/libnetwork/drivers/bridge/setup_ip_forwarding.go: // drop only if the daemon option iptables is not set to false. components/engine/vendor/github.com/docker/libnetwork/drivers/bridge/setup_ip_forwarding.go: if err := iptables.SetDefaultPolicy(iptables.Filter, "FORWARD", iptables.Drop); err != nil { components/engine/vendor/github.com/docker/libnetwork/drivers/bridge/setup_ip_forwarding.go: if err := iptables.SetDefaultPolicy(iptables.Filter, "FORWARD", iptables.Drop); err != nil { Mac-mini-Sergey:docker-ce sergeyovsienko$
Dmitriy
докер считает что кроме него никто больше нетфильтром не керует
Докер при своем запуске безоговорочно генерит свои правила. Все правила которые были созданы до него он затирает. Вот это действительно беда!
Sergey
я именно про это
Sergey
вон выше кусок кода
Sergey
именно
Maksim
Они решли поставить DROP
Maksim
это не ipfilter
Sergey
он при старте демона, если не соит iptables false тупо игнорирует другие то, что было до него и переиначивает таблицу форварда на дроп по умолчанию
Sergey
а в кубернетесе iptables заведует kube-proxy и выходит конфликт
Dmitriy
он при старте демона, если не соит iptables false тупо игнорирует другие то, что было до него и переиначивает таблицу форварда на дроп по умолчанию
Надо при первом старте докера делать сразу же iptables-save, а после не давать возможности докеру управлять iptables и соответственно использовать свои правила
Sergey
так у вас кубер или чистый докер?
Maksim
нужно убить желание докера лесть в iptables
Maksim
не его ипархия
Dmitriy
у меня кубер
Sergey
ye nfr fgybnt ;t ljrth c fqgbntq,kc afkct
Sergey
ну так апните же довекр демон с айпитеблс фалсе
Sergey
dockerd —iptables Enable addition of iptables rules (default true)
Sergey
dockerd —iptables=false
Dmitriy
ну так апните же довекр демон с айпитеблс фалсе
до сей поры я об этом не знал и тупо ругался на докер за его выкрутасы с фаерволом
Sergey
на этот счет не только вы ругаетесь
Sergey
в ишью на гите есть
Dmitriy
А я кластер развернул на виртуалках поиграться, думал что уже что то там. Хотя вот после целого дня ковыряний, проверок пришел к выводу чего-то я не понимаю.... А тут все банально
Sergey
угу
Dmitriy
Спасибо, ребята!
Sergey
/usr/bin/dockerd -H fd:// —ip-masq=false —iptables=false —log-driver=json-file —log-level=warn —log-opt=max-file=5 —log-opt=max-size=10m —storage-driver=overlay
Sergey
вариант запуска докерд от kops
Dmitriy
А ip-masq в каких случаях следует отключать?
Sergey
что бы он не лез в таблицу nat
Sergey
)
Dmitriy
когда требуется чистый роутинг? но тогда flannel будет инвертировать и делать ip-masq=true!
Sergey
фланель организует овердейную сеть
Sergey
для связи подов на разных хостах
Dmitriy
надо попробовать и у докера и у flannel поставить false и посмотреть что выйдет
Sergey
а рулежкой iptables в кубернетес занимается kube-proxy
Sergey
hain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 974K 80M KUBE-POSTROUTING all — * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes postrouting rules */ 0 0 MASQUERADE all — * !docker0 172.17.0.0/16 0.0.0.0/0 591K 49M MASQUERADE all — * * 0.0.0.0/0 !100.64.0.0/10 /* kubenet: SNAT for outbound traffic from cluster */ ADDRTYPE match dst-type !LOCAL
Dmitriy
а рулежкой iptables в кубернетес занимается kube-proxy
это я знаю. хотя плагины cni подгружает kubelet
Sergey
ну вон правило ната выше я кинул
Sergey
а вообще классно /* kubenet: SNAT а в правиле MASQUERADE
Sergey
это как в анекдоте про чапаева и петьку, про нюанс
Sergey
кстати, тут в кубер уже сетевые политики завезли
Sergey
кто-то тестил там с калико или вэйв?
Dmitriy
это как в анекдоте про чапаева и петьку, про нюанс
ох уж эти разработчики... видно долго думали что выбрать
Sergey
сетевые, ну когда ты можешь разделять доступы на уровне подов
Sergey
какому поду к какому можно ходить, а какому нельзя
Dmitriy
кто-то тестил там с калико или вэйв?
Я думал про калико, но так как не понимаю существенных оличий от фланеля, воздерживаюсь его использовать
Sergey
вот калико умеет сетевые политики, а сейчас в кубере уже и интеграция появилась