Dmitry
Ребят, до сих пор не понимаю как все используя кубера не столкнулись с такой проблемой, если один под обращается по clusterIP с другим подом и они случайно оказались на одном хосте то Коннект больше не установится
Dmitry
Под1 10.0.0.1/24, под2 10.0.0.2/24, под1 обращается по кластер ИП к под2 10.255.0.1/24, далее происходит днат (кластер ИП заменяется на 10.0.0.2), и когда трафик дошел до под2 он начинает отвечать со своего адреса 10.0.0.2 на адрес 10.0.0.1 и тут днат уже не отрабатывает и трафик через бридж идёт напрямую к контейнеру
Dmitry
Но под1 ждёт трафик от адреса 10.255.0.1/24
Dmitry
И поэтому пакетк отбрасываются
Anton
Потому что по уму надо все шел скрипты пускать 'set -ue' а там такое && ошибку выкинет. if чище, но не $? конечно, а 'if Nginx -t; then'
ну тот скрипт конкретно с set -e какой толк запускать? его падение кто вообще зафиксирует?
Anton
Но под1 ждёт трафик от адреса 10.255.0.1/24
как фиксить? rp_filter или еще чего?
Dmitry
Пока не знаю
Serega
ну вот для теста сделал два пода, testing svc/echoserver-local 10.0.0.175 <none> 80/TCP 2d app=echoserver-local testing svc/memcached 10.0.0.8 <none> 11211/TCP 2d k8s-app=memcached зашел на первый и пингую второй. Все ок. Или я не так вас понял?
Anton
http://www.opennet.ru/opennews/art.shtml?num=47681 все уже видели наверное
Andrey
change log ? new key features ?
Logan
Там бэкапов нет?
в кубере? нет и не было
Салтыдык
в кубере? нет и не было
это скорее всего было к гитлабу
Denis
А какой самый просто вариант заставить Jenkins игнорировать свои же коммиты? Сорри за оффтоп
Etki
[ci skip]
bebebe
всё это есть, включая бэкапы
либо вы меня не так поняли, либо врети https://i.imgur.com/Lx4XedE.png
Даня
bebebe
присмотритесь к этому пайплайну, два разных workflow который готовят k8s для aws и baremetal, gitlab не может дожидаться пока стейдж полность не пройдет и запустить другой. впрочем да, это оффтопик
Даня
соря, не подскажу(
Denis
ок, спасибо )
Даня
но этот варик 100% рабочий
Даня
только иногда глючит инклуд\эксклуд
Andrey
либо вы меня не так поняли, либо врети https://i.imgur.com/Lx4XedE.png
https://docs.gitlab.com/ee/ci/multi_project_pipeline_graphs.html а если хочется бесплатного, то есть https://docs.gitlab.com/ee/ci/triggers/
bebebe
вы меня опять не поняли, давайте либо в приват уйдем, либо перестанем оффтопить.
Vladimir
Под1 10.0.0.1/24, под2 10.0.0.2/24, под1 обращается по кластер ИП к под2 10.255.0.1/24, далее происходит днат (кластер ИП заменяется на 10.0.0.2), и когда трафик дошел до под2 он начинает отвечать со своего адреса 10.0.0.2 на адрес 10.0.0.1 и тут днат уже не отрабатывает и трафик через бридж идёт напрямую к контейнеру
трафик пода к "своему" же сервису не днатится, -A KUBE-SEP-VFJAMJXL7RM7FULA -s 10.200.2.44/32 -m comment --comment "default/my-service:" -j KUBE-MARK-MASQ -A KUBE-SEP-VFJAMJXL7RM7FULA -p tcp -m comment --comment "default/my-service:" -m tcp -j DNAT --to-destination 10.200.2.44:80 P.S. на самом деле днатится, но уже после маскарадинга, в под назначения он придет с другим src ip, видимо с ip ноды
Anton
глупый вопрос: а зачем к самому себе не через 127.1 обращаться?
Etki
время создавать ci_ru или что-нибудь такое
Anatoliy
И кстати вопрос по куберу, я могу как-то видоизменять iptables? кубер из за этого ничего там не поломает? У меня контейнер который билдится докером в поде не имеет доступ в инет(
Anton
forward policy наверное drop
Anatoliy
Угу, и меня интересуют последствия если я его уберу, с iptables у меня не очень хорошо, что оно сделает для кубера я вообще не могу понять... впрочем если критичного ничего не будет - можно попробовать убрать)
Anton
кажется это docker приносит с собой
Anatoliy
Всмысле докер приносит?
Serega
время создавать ci_ru или что-нибудь такое
для мазохистов(и любителей потрындеть) есть devops_ru
Anatoliy
Serega
т.е. вы хотели сказать "на мои вопросы не отвечают"? )))
Serega
ну я этот канал любителям флуда рекламирую. Вы вроде не из их числа. /offtop mode off
Anatoliy
т.е. вы хотели сказать "на мои вопросы не отвечают"? )))
не только на мои) но написал, посмотрим что они ответят))
Dmitry
я так и не нашел правила которое делает маскарадинг
Vladimir
я так и не нашел правила которое делает маскарадинг
-A KUBE-MARK-MASQ -j MARK --set-xmark 0x4000/0x4000 вот так покидает prerouting цепочку и затем в postrouting-е -A KUBE-POSTROUTING -m comment --comment "kubernetes service traffic requiring SNAT" -m mark --mark 0x4000/0x4000 -j MASQUERADE
Maksim
Мож кто может тут Стокнулся с такой проблемой Нужно что бы docker registry аутентифицировал клиентов через token, однако token сервер не умеет работать только по OAuth 2 При получении токена registry пишет, что токен пописан не доверенным сертификатом, при том что сертифкат указан в конфиге регистра
Maksim
Я уже всё, на что хватило моего больного раассудка, перепробывал
Anton
возился с похожим с portus. но там реально оказалось что сертификат не тот
Maksim
я его уде по буквенно сверял
Maksim
при том регистр говорит, что не доверенный kid и у этого сертификата тот же kid
Anton
мож запуск с другим сертом был
Anton
ну в общем я тож маялся и вроде все правильно, но оказалось что серт всетаки не тот
Dmitry
-A KUBE-MARK-MASQ -j MARK --set-xmark 0x4000/0x4000 вот так покидает prerouting цепочку и затем в postrouting-е -A KUBE-POSTROUTING -m comment --comment "kubernetes service traffic requiring SNAT" -m mark --mark 0x4000/0x4000 -j MASQUERADE
чтоб попасть в эту цепочку сервис должен сам себе отправить пакет на кластерип -A KUBE-SEP-VFJAMJXL7RM7FULA -s 10.200.2.44/32 -m comment —comment "default/my-service:" -j KUBE-MARK-MASQ
Dmitry
то есть это правило нужно для того же чтоб сервис сам к себе мог обращаться по кластерип )
Maksim
мож запуск с другим сертом был
а как ты ключ в регистр добавлял? есть мнение что я его не правильно кидаю
Maksim
rootcertbundle я его вот этим ключом добавляю
Anton
У меня уже нет доступа к тому регистри
Anatoliy
А есть что-то что что бы докер мог начать в инет ходить? Даже если просто руками docker run -it --rm alpine /bin/ash запускаю ничего не пингуется(снаружи).
bebebe
вы еще не расшарили доступ до своего окружения чатику? :)
bebebe
намного бы бодрее пошло
Serega
они должны быть на одной ноде два пода kubectl get pods -o wide
я помню ваш кейс. Вывод подов с миникубе )
Anatoliy
вы еще не расшарили доступ до своего окружения чатику? :)
звиняйте но нет) Да и осталось то немного в принципе) не понимаю почему если стартовать докер руками там сети нет( Делаю docker build в одном из подов и тот образ что создается не может закачать себе все что ему необходимо( Падает по таймауту(
Serega
че такое, в devops_ru вас не пнули читать про docker-in-docker ? ))
Anatoliy
про dind читал. не работает
bebebe
я помню ваш кейс. Вывод подов с миникубе )
Кстати никто не заметил что миникуб испортился? С последним релизом те же проблемы
Anatoliy
можно просто руками запустить докер на хост машине кубера и там тоже не будет сети
bebebe
На инсталляции проблема с сертификатами x509
Serega
про dind читал. не работает
даю наводку http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
Anatoliy
даю наводку http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
docker run -v /var/run/docker.sock:/var/run/docker.sock \ -ti docker Вот так и пользуюсь
Anatoliy
Но блин мне не важно так я это запускаю или нет. у меня нет сети во всех контейнерах которые я запускаю руками. Вот просто docker run -it --rm alpine sh и там ping 8.8.8.8 - не работает
Anton
Анатолий, ну что вы, ну проверьте разрешено ли в iptables forward по умолчанию
Anton
Загуглите почему так
Anton
Если так
Anton
Блин дампаните трафик
Anton
Ну что же, почему же не идёт трафик
Vladyslav
Всем привет в этом чатике )
Vladyslav
посоветуйте, пожалуйста, нормальный мониторинг кубернетса
Logan
прометей вполне справляется