A
какие настроишь у себя - такие и будут
Они автоматом ставятся из хелма kube-prometheus
Andor
Они автоматом ставятся из хелма kube-prometheus
так может с этого и стоило начинать?
A
Но есть траблы именно с этими тремя
A
И хочу узнать как у кого с ними
Andor
Ну что нет то, если да, но я не об этом, называйте как хотите, я говорю как есть.
> Джобы они будут называться уже в метриках нет, джобы - это группа таргетов. у тебя на скриншоте - список джобов с количеством таргетов в каждой джобе
Макс
+
A
> Джобы они будут называться уже в метриках нет, джобы - это группа таргетов. у тебя на скриншоте - список джобов с количеством таргетов в каждой джобе
Джобы нигде не фигурируют в гуе прома, называйте их как нравится... В конфиге да есть, но я ориентировался на гую... Не знаешь же кому как понятней
A
"траблы" undefined
Они вообще присутствуют у кого
A
чо, даже в конфиге нет?
Дадада, есть, не занудствуйте, все понятно уже, они есть у вас?
Andor
вопрос-то в чём?
A
И в джобах они могу и быть, а в таргетов в гуе нет, потому что дроппед и тд поэтому и сказал таргеты
A
вопрос-то в чём?
У вас они есть? В джобах/таргетах
Andor
нет, у меня прометей не через kube-prometheus
Andor
траблы-то в чём?
A
Вопрос к тем кто ставил через хелм, где есть уже набор экспортеров
Anton
A
траблы-то в чём?
С etcd собираете метрики?
Andor
неа
A
ты может спросишь всетаки что тебе нужно? =))
Спросил сразу, есть ли у вас в ап этих трёх джобов
A
неа
Понятно, они вам не нужны или просто не стали загорятся?
Andor
продолбал :)
Andor
но я надеюсь что я работу поменяю раньше, чем кому-то они понадобятся
Andor
не собираются метрики с етцд потому что я молодец и не собираю их
Andor
ну и потому что легаси долбаное
Andor
кубер у меня древний и доставшийся в наследство от чувака который ниочинь
Andor
забей
A
Суть: етсд только через https, соответственно для сбора метрик нужны сертификаты етсд, они есть на мастер ноде в /etc/kubernetes, и для сбора их нужно положить в секрет прома, насколько это правильно вообще, или есть другие варианты для этого?
Stanislav
#whois Работаю над проектом логистического сервиса Специалист по devops. Кластера, пайплайны и все это
A
И опять все на ноль) никто не использует пором из хелма?
Andor
нельзя
A
Блин, и как, надо его заставить отдать метрики без https
Andor
а в чём проблема-то выдать прометею клиентский серт?
Andor
прометей же не "левый сервис"
G72K
а в чём проблема-то выдать прометею клиентский серт?
по дефолту никто rbac в етцд не настраивает, с этим сертом делов натворить можно
Andor
я понимаю что можно
Andor
но выдаётся он вроде не всем подряд?
Stanislav
День добрый! Проект kubedb никто не использовал?
Andrey
День добрый! Проект kubedb никто не использовал?
Мы его сейчас тотально перепиливаем. В прод тащить крайне не советую. Говорю конкретно про postgresql.
G72K
но выдаётся он вроде не всем подряд?
Если оно хранится в кластере, то риск выше
Stanislav
Мы его сейчас тотально перепиливаем. В прод тащить крайне не советую. Говорю конкретно про postgresql.
Да, меня тоже немного смутило 9 индусов в разработчиках )) Есть задача предоставить слепок БД из прода в стэйджинг для проверки миграций и всякого такого. С kubedb вроде это решается просто, но есть ощущение что не продакшен реди ))
G72K
Мы его сейчас тотально перепиливаем. В прод тащить крайне не советую. Говорю конкретно про postgresql.
Вкратце можете рассказать что не так с текущей версией? Какие уроки вынесли
Andrey
Вкратце можете рассказать что не так с текущей версией? Какие уроки вынесли
Уроки? Я сразу оговорюсь, что в продакшен я его и близко не тащил, а выкатил на тестовую лабу, написал непрерывно набивающую базу джобу и начал его шатать всяко разно, что и показало эпичные проблемы. А так, конечно, щас все распишу.
Andrey
В чем косячит? И насколько сильно? Вплоть до потери данных?
Косячит при фейловере, потери данных мы на оригинальной версии не раз успешно добивались. Я щас накатаю пост подробный.
Andrey
1) https://github.com/kubedb/project/issues/330 эту багу мы нашли за месяц до создания этого issue где-то через полчаса тестирования. Там сочетание несколько оптимистичного восприятия гарантий, которые дает функционал выбора лидера в client-go и кучи башнянки, которая запихивается в образ, дергается из обвязки на go и имеет свойство ни на что не реагировать. Повторный перезапуск всего, кстати, при отсутствии в объявлении postgres-кластера источников для восстановления из бэкапа с высокой долей вероятности приведет к снова рабочей схеме "мастер + слейвы", но с идеально пустыми базами. Мы решили это радикально, переписав башнянку на го с использованием контекстов для своевременной отмены одного сценария, чтобы начать другой и вынесли логику из коллбэков лидер-электора в отдельный event loop, а коллбэки теперь просто отсылают сообщения в каналы. 2) Не умеет в pg_rewind, поэтому бывший мастер восстанавливается из бэкапа полностью 3) Не хватает альтернативы proxy из stolon, там просто перевешиваются лейблы на поды при смене лидера, но kube-proxy соединения-то не рвет. 4) С точки зрения кодовой базы: отвратительное управление зависимостями через glide с кучей форкнутых апстримовых либ, включая kubernetes/apiserver(!) c пустячными изменениями типа "а вот тут побольше логов, пожалуйста", которые в большинстве своем находятся в github.com/kmodules, но импортятся через kmodules.xyz/<package_name>, для чего используется алиасомагия glide'а. Зачем - непонятно. Плюс еще куча подобных подвохов. Теперь мы мучаемся, отдирая все это гвоздодером. 5) Никаких апгрейдов постгреса на новую мажорную версию, да
A
Там ещё есть --listen-metrics-urls если там другой порт указать может и не будет входящей аутентификации
Все спасибо победил, но у меня была версия etcd 3.2.24, в которой не было ещё такого, вот обновил его и все завелось)
Andrey
1) https://github.com/kubedb/project/issues/330 эту багу мы нашли за месяц до создания этого issue где-то через полчаса тестирования. Там сочетание несколько оптимистичного восприятия гарантий, которые дает функционал выбора лидера в client-go и кучи башнянки, которая запихивается в образ, дергается из обвязки на go и имеет свойство ни на что не реагировать. Повторный перезапуск всего, кстати, при отсутствии в объявлении postgres-кластера источников для восстановления из бэкапа с высокой долей вероятности приведет к снова рабочей схеме "мастер + слейвы", но с идеально пустыми базами. Мы решили это радикально, переписав башнянку на го с использованием контекстов для своевременной отмены одного сценария, чтобы начать другой и вынесли логику из коллбэков лидер-электора в отдельный event loop, а коллбэки теперь просто отсылают сообщения в каналы. 2) Не умеет в pg_rewind, поэтому бывший мастер восстанавливается из бэкапа полностью 3) Не хватает альтернативы proxy из stolon, там просто перевешиваются лейблы на поды при смене лидера, но kube-proxy соединения-то не рвет. 4) С точки зрения кодовой базы: отвратительное управление зависимостями через glide с кучей форкнутых апстримовых либ, включая kubernetes/apiserver(!) c пустячными изменениями типа "а вот тут побольше логов, пожалуйста", которые в большинстве своем находятся в github.com/kmodules, но импортятся через kmodules.xyz/<package_name>, для чего используется алиасомагия glide'а. Зачем - непонятно. Плюс еще куча подобных подвохов. Теперь мы мучаемся, отдирая все это гвоздодером. 5) Никаких апгрейдов постгреса на новую мажорную версию, да
6) При фейловере не выбирает наименее отстающую реплику, поэтому всегда есть вероятность получить сломавшуюся репликацию из-за того, что некоторые из слейвов ушли дальше новоиспеченного мастера
Rainbow
1) https://github.com/kubedb/project/issues/330 эту багу мы нашли за месяц до создания этого issue где-то через полчаса тестирования. Там сочетание несколько оптимистичного восприятия гарантий, которые дает функционал выбора лидера в client-go и кучи башнянки, которая запихивается в образ, дергается из обвязки на go и имеет свойство ни на что не реагировать. Повторный перезапуск всего, кстати, при отсутствии в объявлении postgres-кластера источников для восстановления из бэкапа с высокой долей вероятности приведет к снова рабочей схеме "мастер + слейвы", но с идеально пустыми базами. Мы решили это радикально, переписав башнянку на го с использованием контекстов для своевременной отмены одного сценария, чтобы начать другой и вынесли логику из коллбэков лидер-электора в отдельный event loop, а коллбэки теперь просто отсылают сообщения в каналы. 2) Не умеет в pg_rewind, поэтому бывший мастер восстанавливается из бэкапа полностью 3) Не хватает альтернативы proxy из stolon, там просто перевешиваются лейблы на поды при смене лидера, но kube-proxy соединения-то не рвет. 4) С точки зрения кодовой базы: отвратительное управление зависимостями через glide с кучей форкнутых апстримовых либ, включая kubernetes/apiserver(!) c пустячными изменениями типа "а вот тут побольше логов, пожалуйста", которые в большинстве своем находятся в github.com/kmodules, но импортятся через kmodules.xyz/<package_name>, для чего используется алиасомагия glide'а. Зачем - непонятно. Плюс еще куча подобных подвохов. Теперь мы мучаемся, отдирая все это гвоздодером. 5) Никаких апгрейдов постгреса на новую мажорную версию, да
Переносим все все базы в кубер. production ready
yolkov
Блин, и как, надо его заставить отдать метрики без https
Не я лично делал но мы вроде настроили етсд экспортер, в который можно серт подложить или запустить на мастерах, а етцд запустить неаутенц интерфейс на локалхосте
Stanislav
1) https://github.com/kubedb/project/issues/330 эту багу мы нашли за месяц до создания этого issue где-то через полчаса тестирования. Там сочетание несколько оптимистичного восприятия гарантий, которые дает функционал выбора лидера в client-go и кучи башнянки, которая запихивается в образ, дергается из обвязки на go и имеет свойство ни на что не реагировать. Повторный перезапуск всего, кстати, при отсутствии в объявлении postgres-кластера источников для восстановления из бэкапа с высокой долей вероятности приведет к снова рабочей схеме "мастер + слейвы", но с идеально пустыми базами. Мы решили это радикально, переписав башнянку на го с использованием контекстов для своевременной отмены одного сценария, чтобы начать другой и вынесли логику из коллбэков лидер-электора в отдельный event loop, а коллбэки теперь просто отсылают сообщения в каналы. 2) Не умеет в pg_rewind, поэтому бывший мастер восстанавливается из бэкапа полностью 3) Не хватает альтернативы proxy из stolon, там просто перевешиваются лейблы на поды при смене лидера, но kube-proxy соединения-то не рвет. 4) С точки зрения кодовой базы: отвратительное управление зависимостями через glide с кучей форкнутых апстримовых либ, включая kubernetes/apiserver(!) c пустячными изменениями типа "а вот тут побольше логов, пожалуйста", которые в большинстве своем находятся в github.com/kmodules, но импортятся через kmodules.xyz/<package_name>, для чего используется алиасомагия glide'а. Зачем - непонятно. Плюс еще куча подобных подвохов. Теперь мы мучаемся, отдирая все это гвоздодером. 5) Никаких апгрейдов постгреса на новую мажорную версию, да
Индусокод )) Форкать apiserver это сильно. Выглядит, действительно, таким образом, что лучше переписать, чем победить ) Спасибо за информацию, она помогла сэкономить кучу времени
Stanislav
А у тебя задача девелоперам стейджинг замутить, я так понимаю?
Да, есть такое. Пока что это обеспечивается башем, через пайплайн, но надо что то поэлегантней.
Stanislav
А каков размер базы?
Проект новый, база маленькая. Что то в районе 150 Мб. Пока не сильно паримся и делаем pg_dump | pg_restore
A
Вот так много где надо, подшлифовать, подопнуть и этих мелочей столько... Как же просили мне это все пихать в скрипт развертывания кластера, причем так все стремительно меняется ...
Andrey
Проект новый, база маленькая. Что то в районе 150 Мб. Пока не сильно паримся и делаем pg_dump | pg_restore
Я бы замутил бэкап с wal-g, а в кубенях бы использовал стейтфулсет с постгресом и инит-контейнером, который бы дергал у wal-g backup-fetch и менял бы что-нибудь в базе, если это нужно.
Stanislav
Я бы замутил бэкап с wal-g, а в кубенях бы использовал стейтфулсет с постгресом и инит-контейнером, который бы дергал у wal-g backup-fetch и менял бы что-нибудь в базе, если это нужно.
Концептуально, это вполне прокатит. Однако, было бы крайне удобно юзать CRD и оператор и прям в проекте указывать, что при развертывании в стэйдже дать данные с прода )
Stanislav
https://metacontroller.app
О, не знал что такая штука есть. Спасибо, буду посмотреть.
Andrey
Переносим все все базы в кубер. production ready
Обязательно перенесем и не раз, весь прод в кубеня. Но - потом.
Zhyhanov
Ребят Подскажите может у кого то есть под рукой, мини сервис для тестов реплики k8s, которая при курле опеределенного порта отдавала информацию о поде или ноде ?
G72K
Да, есть такое. Пока что это обеспечивается башем, через пайплайн, но надо что то поэлегантней.
Зачем? Баш работает при том в кластере никаких живых процессов которые могут сойти с ума и все поломать
yolkov
он же закрыт аутенцификацией
Stanislav
Зачем? Баш работает при том в кластере никаких живых процессов которые могут сойти с ума и все поломать
Ну типа берем, пихаем в проект yaml, который через helm скармливаем k8s, и уже готовая БД для стэйджа. Декаларативность и все, что мы любим в k8s ))
G72K
Ну типа берем, пихаем в проект yaml, который через helm скармливаем k8s, и уже готовая БД для стэйджа. Декаларативность и все, что мы любим в k8s ))
Проблема в том, что этот ямл будет обрабатывать какая то неведомая хрень которая непонятно жива ли вообще . Башем в пайплайне все перед глазами
G72K
он же закрыт аутенцификацией
Ну... курлить можно? Можно. Значит ответ верен :)