Grigorii
Всем привет! Есть вопрос про preStop hook. Правильно ли я понимаю, что в момент работы preStop hook трафик все еще распределяется на pod?
судя по https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods уже не должен. Там сначала под помечается как терминатинг, и после этого одновременно он выкидывается из endpoints и preStop хук начинается
Artyom
да, через controlPlaneEndpoint: 127.0.0.1:8443
Получилось, всё поднялось. Вопрос, как в такой схеме правильно направлять трафик к подам извне? Наверное каждый раз перенастраивать haproxy при создании нового пода совсем не то, что нужно.
𝚔𝚟𝚊𝚙𝚜
Artyom
А можно попросить правильный конфиг для keepalive для такой схемы? Сейчас выяснил, что включенный на двух нодах, он ломает всю логику
George
Я что-то пропустил, но кипэлайв нужен, чтобы гонять виртуальный айпи между нодами. Без разницы сколько мастеров. Вопрос только лишь в том, как правильно ему настроить хелсчеки, чтобы не дай Бог, на двух узлах одновременно не появился VIP, т.к. keepalived не умеет в кворум - может все-таки лучше взять pacemaker?
Tadeusz
heartbeat
George
ну, неправильно хелсчек настроен, при условии, что ноды видят друг друга
George
если ноды друг друга не видят - это вообще другой кейс... и как бы в этом случае у тебя etcd вне кластера уже
Artyom
Видят. Вот как раз и понять, как эти хэлсчеки выглядят я и хочу
George
https://github.com/openshift/openshift-ansible-contrib/blob/master/reference-architecture/vmware-ansible/playbooks/roles/keepalived_haproxy/templates/keepalived.conf.j2
George
я бы тебе предложил в кишки опеншифта заглянуть
George
они именно такую архитектуру и разработали
George
track_script { haproxy_check }
Artyom
спасибо, почитаю
George
магия тут
𝚔𝚟𝚊𝚙𝚜
А можно попросить правильный конфиг для keepalive для такой схемы? Сейчас выяснил, что включенный на двух нодах, он ломает всю логику
vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 1 priority 100 advert_int 1 authentication { auth_type AH auth_pass iech6peeBu6Thoo8xaih } virtual_ipaddress { 10.9.8.10 } }
George
для VRRP не нужны хелсчеки
кипэлайв - это условно только переключалка IP между узлами
𝚔𝚟𝚊𝚙𝚜
да
George
ему нужно объяснить на основе какого события перекидывать IP
𝚔𝚟𝚊𝚙𝚜
он может больше, но в данном случае не нужно
George
понятно, что если нода ушла так, что кипэлайв сказал кря, то второй по VRRP поймет это
Andor
приоритеты можно подправить, если надо
George
проблема только в одном
Timur
проще всего, чтобы клиенты понимали тупой RR DNS. Потому как с keepalived рано или поздно получится два одинаковых VIP в сети
George
кипэлайв может принять VIP, даже если HAProxy на нем не запущен
George
короче. кипэлайвд в базовом варианте - говно. RR DNS - тоже говно
George
т.к. не все клиенты понимают тупой RR и делают ретрай
George
хелсчек - нужен. А еще лучше не юзать кипэлайв
George
вот
Timur
т.к. не все клиенты понимают тупой RR и делают ретрай
клиенты не понимают, а днс - говно :) Ну ок. Consul смотрит на вас с недоумением :)
George
Консул - нормальная тема, кстати
George
не ДНС говно сам по себе, а мысль, что RR DNS работает всегда и везде
Andor
клиенты не понимают, а днс - говно :) Ну ок. Consul смотрит на вас с недоумением :)
ты не можешь гарантировать что на клиентских хостах не закешировалось что-то положив на твои указания TTL
Timur
"клиенты понимали тупой RR DNS". Тут все написано. А про кеширование, тупых клиентов - это уже ваши домыслы. Объяснять точно не буду
Andor
как будто эти "домыслы" на пустом месте родились
George
я обожаю этих архитекторов
George
на самом деле, я бы еще понял, если вместо RR DNS предложили TTL = 10 и жонглировать записями через API
Artyom
абсолютно
А разве в этом случае не будет висеть два одинаковых айпишника в сети? Собственно у меня сейчас подобная ситуация и происходит
Timur
что будешь делать, когда vrrp_instance-ы перестанут видеть друг друга ?
я кстати в свое время просто забил и 5 лет отлично все работало. Как и в яндексах с мейлом и много где. Но вот сейчас внедрять по этой причине не хочу
𝚔𝚟𝚊𝚙𝚜
что будешь делать, когда vrrp_instance-ы перестанут видеть друг друга ?
Они не перестанут видеть друг-друга без особых на то причин.
Andor
если они перестали друг друга видеть значит у тебя л2 развалился
Andor
ну ок ))
сказал чувак который говорит что днс рр это збс
George
если они перестали друг друга видеть значит у тебя л2 развалился
не факт, что развалился именно так, как ожидаете
George
мутатор мог сойти с ума
Andor
много вариантов
George
в любом случае чинить
хорошо, если там останется, что чинить
Andor
ну значит доступность аписервера это проблема с низким приоритетом будет
𝚔𝚟𝚊𝚙𝚜
Нет, железо
Я бы смотрел в tcpdump -nn -i eth0 vrrp
Artyom
Я бы смотрел в tcpdump -nn -i eth0 vrrp
Спасибо, завтра проверю
Artem
Добрый день! Кто-нибудь может подсказать, как в Kubespray при деплое кластера на ноды вешать лейблы?
Nikolay
Добрый день! Кто-нибудь может подсказать, как в Kubespray при деплое кластера на ноды вешать лейблы?
https://github.com/kubernetes-sigs/kubespray/issues/2843#issuecomment-406215793 вот в этом комменте пример.
Rainbow
Консул - нормальная тема, кстати
Я тут пару часов назад про него рассказывал. Последние пару месяцев плотно на нем сижу, много проблем решает. Без haproxy, cni, виртуальных сетей между дц и тп
Timur
сказал чувак который говорит что днс рр это збс
детский сад )))) Повторяй "клиенты понимали тупой RR DNS" до просветления
Andor
детский сад )))) Повторяй "клиенты понимали тупой RR DNS" до просветления
а ты тогда иди повторяй "нет возможности управлять тем, что умеют и не умеют понимать все-все-все клиенты"
Rainbow
О как. А я консул только для хранения конфигов использую 😅
Это как бы низший уровень для поддержки всего, что у него сверху...
Отделение Bereke Bank
Надо попробовать заюзать все его фичи
Rainbow
Как минимум сервисы можно регать для хелчеков и чтобы натравливаться прометей автоматом.
Andor
детский сад )))) Повторяй "клиенты понимали тупой RR DNS" до просветления
это называется не "детский сад", а "опыт заработанный кровью и болью"
Отделение Bereke Bank
Это как бы низший уровень для поддержки всего, что у него сверху...
У него наверное как у vault есть enterprise версия? Фунционала бесплатной Вам хватает?