bebebe
с ipvs натолкнулся на такой баг https://github.com/kubernetes/kubernetes/issues/59976
bebebe
с ipvs тоже не вышло, коннективити между подами есть, но вылазит тот же connection reset by peer под нагрузкой (10 параллельных tcp сессий)
bebebe
https://www.reddit.com/r/kubernetes/comments/954ybm/horrors_of_using_azure_kubernetes_service_in/
Roman
А кто тут использует cilium?
bebebe
В dmesg на клиенте и сервере нет ничего?
ничего страшного, проверял
bebebe
у меня меня, есть один воркек и один мастер на воркере запущена два пода если делать seq 1 100000 | xargs -P5 curl <second-pod> все работает сносно если сделать в десять потоков seq 1 10000 | xargs -P10 ... ловлю connection reset by peer, на некоторое количество запросов
bebebe
сам k8s, 1.7.1, kube-proxy пробовал в разных вариациях, от userspace, до ipvs.
bebebe
у меня складывается впечатление, что либо где-то что-то переполняется, какой-нибудь conntrack, хотя я его вроде мониторил
Andor
у нас были очень похожие симптомы, но вылечились переходом на ipvs
bebebe
а мне почему-то не помогло, кластер разворачивал не я, а каким-то странным методом, поэтому подводных камне может быть множество
Pavel
net.core.somaxconn какой у вас выставлен?
Pavel
Недавно утыкались в него в похожем стиле
bebebe
8096
bebebe
у меня складывается впечатление, что эти линуксы никак не тюнились вообще
Denis
Всем привет! КТо нибуть снимает логи контейнеров в k8s через fluentd и GELF?
Pavel
у меня складывается впечатление, что эти линуксы никак не тюнились вообще
Но там ещё приложение может само выставлять backlog, как вариант
Andor
kube-proxy выставляет, да
Andor
стоит в его опции глянуть ещё
Denis
кто-нибудь наверняка
Есть какой то имейдж докеровский готовый под эти цели? Видел только для системных компонентов.
Andrey
в россии выходной сегодня?
Andor
в августе вроде нет праздников
bebebe
Но там ещё приложение может само выставлять backlog, как вариант
я проверял изнутри second pod теже curl на localhost проблема отсутствует
bebebe
хожу из одного pod'а в другой, проблема есть если во втором поде запустить тест и натравить его на localhost - проблема отстутсвует поды на одной машине запущены
Denis
Вот это посмотрите https://github.com/roffe/kube-gelf
Смотрел, но немного не подходит решение.
G72K
В 10 потоков сразу умирает или держится сначала?
Alexey
Всем привет. Вчера уже задавал вопрос по запуску cadvisor'а и сбору метрик, продолжаю с этим разбираться. Сейчас команда kubectl top node возвращает ошибку error: metrics not available yet При этом, логе heapster'a вижу записи подобного вида: error while getting containers from Kubelet: failed to get all container stats from Kubelet URL "http://10.90.8.15:10255/stats/container/": Post http://10.90.8.15:10255/stats/container/: dial tcp 10.90.8.15:10255: getsockopt: connection refused Порт 10255 действительно не слушается ни на одной из нод(все версии 1.11). Как я понял по релиз нотсам, с 11 версии этот порт по умолчанию закрыт, а открыт защищенный 10250. Вижу два возможных варианта решения: 1. Открыть порт 10255 2. Настроить heapster'а на работу по порту 10250. Прав ли я? Подскажите, что нужно выполнить, чтобы реализовать второй вариант?
bebebe
закономерность найти сложно, можно утверждать так, что какое-то время держится, потом, где-то что-то переполняется, идут фейлы (но не подряд) дальше фейлов становится меньше, потом опять могут пачкой свалится, далее по одному
bebebe
я к сожалению в этом контейнере не могу его поставить, из-за отсутствия прав. я бы тоже грешил на backlog, если бы не работающий тест через localhost. backend'ом там служит java фреймвор jetty
bebebe
хотя точно можо утверджать, что connectio reset by peer я ловлю на моменте connect(2)
bebebe
я вот думаю, не поднять ли мне рядом nginx и не сделать ли тест против него
Denis
Есть какой то имейдж докеровский готовый под эти цели? Видел только для системных компонентов.
При старте контейнера с fluentd вот такая ошибка unexpected error error_class=Errno::EACCES error=#<Errno::EACCES: Permission denied @ rb_sysopen - /var/log/fluentd-containers.log.pos>
bebebe
да, если натравить на nginx, то проблема отсусттвует
bebebe
я давно смотрел в то как устроена сеть в линуксе, у меня есть какое-то странное ощущение, что когда пакет идет на localhost, он может попадать в "берзарменый" backlog, хитро "проходить по цепочкам" внутри ядра
bebebe
потому что, если этот тест запускть внутри "проблемного пода", против localhost, то connection reset by peer отсутствует
Andrey
может дело в SELINUX?
Andor
ну-ну
bebebe
ммм. не думаю... но если тест фейлится на java backend'e и не валится на nginx backend'е - это хорошая отправная точка
bebebe
а то я уже немного аптисипидампился
Andrey
chown -r rb_sysope:rb_sysope /var/log/
Andor
srsly
bebebe
спасибо коллеги, а то у меня уже глаз замылился
Ivan
Кто нибудь читал где нибудь, возможно ли чтобы сеть для подов была маршрутизируемой, чтобы поды получали IP в сети которая доступна напрямю, а не через НАТ ?
Andor
calico поддерживает
Ivan
bgp?
Есть статья или дока ?
Andor
weave тоже поддерживает и что-то третье
Andor
забыл название
Andrey
и да, NAT не относится к маршрутизации )))
Andor
ты с сетями вообще знаком?
Andor
что такое bgp и как его едят
Andrey
Есть статья или дока ?
это протокол динамической маршрутизации, между узлами я рекомендую OSPF
Andrey
а не BGP
bebebe
вот это поворот
Andrey
у BGP кейс применения другой
PsyDebug
😱
Andrey
не в курсе
Andor
ну и там сходимость фигня, поэтому без разницы
Andrey
ну есть такое понятие как EGP/IGP маршрутизация :)
Anton
Товарищи, кто еще перехал на coredns ?
Andrey
BGP это протокол EGP маршрутизации
Andrey
в рамках кластера - IGP
Ivan
У меня не стыкуется что BGP должен на роутере работать, а по умолчанию в Кубере все через iptables и NAT. На счет Calico слышал. Пытаюсь найти мануал и читать доку. Спрашиваю здесь может кто уже запорачивался
Andor
софистика
Anton
Товарищи, кто еще перехал на coredns ?
Пропали глюки днс вроде долгих ресолв?