Etki
https://ru.stackoverflow.com/q/753510 на ру.со всплыл профильный вопрос, закидываю сюда, потому что тамошняя аудитория в основном именно программисты
Denis
Гайз привет
кто-нибудь юзает паттерн амбассадор?
Denis
на сколько он удобен и в чем у него основные отличия от обычного external service?
Ivan
Sergei
https://github.com/google/metallb
Bogdan
@etkee а зачем это Хетцнер так делает с адресами на виртуалках?
Bogdan
@etkee IPv6 советуют использовать вот тут https://serverfault.com/questions/725255/cant-use-external-ip-on-hetzner-vps вообще конечно жесть, мне так своими ценами их виртуалки нравятся
Etki
это на ру.со надо писать :)
Bogdan
@etkee да понятно, я просто что-то расстроился из-за такой лажи у них на виртуалках
Serega
можно у них взять дедикейтед сервер и на нем уже нарезать виртуалок с паблик айпи. Только свет клином же на хетзнере же не сошелся...
Anatoliy
Народ, а есть кто тут дженкинс активно пользует? Применительно к куберу? Я вроде все настроил но в пайплайне не видится докер. Где я мог накосячить?
Alex
что значит в пайаплайне не видится докер?
Alex
ты хочешь билд ноду в k8s запускать как контейнер?
Anatoliy
что значит в пайаплайне не видится докер?
...
[pool-auth] Running shell script
+ docker inspect -f . golang:alpine
/var/jenkins_home/workspace/pool-auth@tmp/durable-b34f2dca/script.sh: 2: /var/jenkins_home/workspace/pool-auth@tmp/durable-b34f2dca/script.sh: docker: not found
Anatoliy
сам пайплайн выглядит так:
https://pastebin.com/zUp5xBs5
Alex
а где женкинс запущен? я не значю плагин docker.image и по коду не понимаю что он даст при вызове на мастере и как он в кубер сходит. мы юзаем podTemplate : https://github.com/jenkinsci/kubernetes-plugin
Alex
судя по всему это плагин для работы с докером, а не с кубом
Anatoliy
Да, там был плагин для работы с докером а не кубом. Т.е. фактически вы стартуете под с нужными докер образами и там уже все ывполняется?
Alex
да конечно. а как еще?
Anatoliy
ну из того что я начитался - напрямую через докер минуя куб
Alex
зачем тогда кубернетус?)
Anatoliy
но ведь что бы дженкинс смог работать с кубом ему надо скормить конфиги?
Anatoliy
Kubernetes server endpoint
Certificate of certificate authority
Вот эти вроде
Alex
да конечною авторизоваться как минимум
Anatoliy
Пошел пробовать это делать, не думаю что там все так просто будет
Anatoliy
Эндпоинт кубера имеется внешний ИП?
Maksim
Нет
Anatoliy
да конечною авторизоваться как минимум
но pipeline оисывается все равно в ietm pipeline в дженкинсе? потому что я могу видеть работу с кубером в задаче со свободной конфигурацией, но вот видеть там где можно пайплайн прописать - я не могу(
G72K
Sergei
G72K
да
А нет, никакого maglev, все тот же косяк с ecmp , когда все рехешится нафиг на каждый чих :(((
Sergey
Sergey
кто-то уже разберался как оно там архетиктурно все устроенно?
G72K
По опичанию просто анонсирует cluster IP, либо со всех нод либо только оттуда где есть под
Sergey
нода упала - лови перестроение маршрута
G72K
Короче то что calico должно делать по уму или уже делает
Sergey
сколько там схождение в бгп никто не помнит?
Sergey
cluster IP - так это же вообще внутреняя сущность, не для внешнего трафика
Sergey
они же писали что для того, что бы юзать type=LoadBalancer на baremetal
Sergey
все закрываю любимую порнуху - иду изучать что там к чему
Sergei
это не лб, просто анонс наружу
Sergey
анонс на ружу кластер айпи из серой зоны?
Sergey
звучит странно
Sergei
Sergei
ты показываешь пул
Sergei
из пула выделяются адреса
Sergey
так пошел я сам читать доку
Sergei
удачи. выглядит сырым правда.
Sergey
ну они пишут что сильно янг потому альфа
Logan
с одной стороны альфа, с другой – динамично развивается
Sergey
Anatoliy
Ребят, а те кто дженкинс используют вы через внешний IP к куберу лезете или нет? Потому как у меня он выдает странное:
Error testing connection externalIP:6443: java.net.ProtocolException: Unexpected status line:
Anatoliy
там ascii символы после : идут
Anatoliy
Хотя прошу прощения, там явно надо было указать https.
Правда щас там другая проблема:
Error testing connection https://externalIP:6443: Failure executing: GET at: https://externalIP:6443/api/v1/namespaces/devs/pods. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. pods is forbidden: User "system:serviceaccount:devs:default" cannot list pods in the namespace "devs".
G72K
Sergey
гонять продакшин трафик через него - ссзб
Sergey
магия выглядит примерно так
Sergey
-A KUBE-SEP-4SQFZS32ZVMTQEZV -s 172.17.0.3/32 -m comment —comment "default/simpleservice:" -j KUBE-MARK-MASQ
-A KUBE-SEP-4SQFZS32ZVMTQEZV -p tcp -m comment —comment "default/simpleservice:" -m tcp -j DNAT —to-destination 172.17.0.3:9876
-A KUBE-SERVICES -d 172.30.228.255/32 -p tcp -m comment —comment "default/simpleservice: cluster IP" -m tcp —dport 80 -j KUBE-SVC-EZC6WLOVQADP4IAW
-A KUBE-SVC-EZC6WLOVQADP4IAW -m comment —comment "default/simpleservice:" -j KUBE-SEP-4SQFZS32ZVMTQEZV
Sergey
и чем больше у вас сервисов - тем больше правил в нетфильтер
Sergey
если Вы работали в провайдинге, то мне не надо рассказывать что такое нат таблица и маломальски приличный ппс
Sergey
clusterip - это вообще такой кастыль для внутренего сервисдискавери
Uncel
Sergey
никто не отменял лока пока пакетик бежит по цепочкам
Sergey
не даром умные люди придумали ipset
Uncel
Sergey
и надо отдельно накатывать
G72K
Sergey
я про нативный iptables
Sergey
который юзает кубер
Sergey
G72K
Елси сервсс сделать LoclOnly никаких тыщ,цепочек не бужет
Sergey
так при создании сервиса он автоматом создает кластерIP для "балансировки" трафика между подами этого сервиса