@kubernetes_ru

Страница 587 из 958
Дмитрий
28.05.2018
08:02:20
где легачи, какие файлы, какие переменные на каком этапе, всё в кучу)

Dmitriy
28.05.2018
08:02:22
Свое легаси или чужое?
OTRS, как пример. Древний как говно мамонта. Лезть туда руками я совсем не хочу.

Harry
28.05.2018
08:02:36
Коллеги, добрый день. Есть такой архитектурный вопрос. Изучаю микросервисы, пытаюсь понять, как их правильно организовать. Стек простой: golang+cockroachdb. Итого у меня есть три варианта: 1) Контейнер приложения и контейнер базы лежат в одном поде внутри стейтфул-сета. 2) приложение и база в разных подах, база в стейтфул-сете, у базы отдельно есть балансировщик. 3) базу вообще вынести из кубов. Как организовать все кошерно/феншуйно?

Alex Milushev
28.05.2018
08:02:37
Google
Sergey
28.05.2018
08:04:10
И где не применимо?
что 12 факторов говорят про стораджа? :)

Dmitriy
28.05.2018
08:04:42
И его несколько энвов держать надо и еще эти энвы плодить часто?
Да, на него завязаны наши сервисы. QA'м хочется поднимать полное окружение для тестов.

Harry
28.05.2018
08:06:04
А задача какая?
Задача - каталог каких-либо итемов, другие приложения разные запросы к нему делают и получают данные

Alex Milushev
28.05.2018
08:06:19
Да, на него завязаны наши сервисы. QA'м хочется поднимать полное окружение для тестов.
Ну тогда в чем проблема создать обвязку в качестве точки входа, которая и будет генерить конфиг на основе переменных среды?

Harry
28.05.2018
08:06:38
Тут проблема не в задаче а в правильности размещения приложений.

Dmitriy
28.05.2018
08:06:43
Ок. Опишу более детально. Есть около 40 сервисов (часть своих, часть легаси). У каждого из них есть свои конфиги (свои можно переписать на ENV, но это будет долго). Сейчас есть сервис хранения и раздачи конфигов. При подъеме сервиса дергаем курлом конфиг и поднимаемся. Вроде все отлично, но меня смущает безопасность и сама идеология. Хотелось бы отказаться от этого сервиса с конфигами и хранить их как-то более правильно.

Andor
28.05.2018
08:07:56
Етцд/консул

Вместо курла

Не?

Anton
28.05.2018
08:09:17
чем будет отличаться от прошлого новаторского подхода с сервисом хранения и раздачи конфигов? =)

опять запускаешь что то, что непонятно как конфигурируется и неизвестно какое состояние имеет

Google
Dmitriy
28.05.2018
08:10:31
Вот

Конфигмап выглядит куда лучше. Хотя я пока и не до конца понимаю

Andor
28.05.2018
08:12:59
Ваще если конфиг никогда во время жизни приложения не меняется, то конфигмапы ок

Anton
28.05.2018
08:25:22
Почему непонятно и неизвестно?
потому что конфиг это внешняя сущность получается. не ясно состояние конфига, он зависит от времени запуска или от момента перечитывания конфига. я хз как такие динамические варианты с конфигурированием ПО решаются. железный вариант - изменился конфиг - ты или ролллинг апдейт сделал, или форсил релод приложения. и ты видишь в состоянии аппа какой у него конфиг

Alex Milushev
28.05.2018
08:27:34
Ваще если конфиг никогда во время жизни приложения не меняется, то конфигмапы ок
Именно, если приложение поддерживает динамическую конфигурацию и фактически запрашивает значения и во время работы по определенной бизнес логике, то etcd/consul/zookeper вполне ок.

Дмитрий
28.05.2018
08:27:59
Конфигмап выглядит куда лучше. Хотя я пока и не до конца понимаю
Я вот не понял, если у тебя всё запскается через ansible, и ты в нём максимально используешь enventory, то почему бы тебе не генерить на лету yaml файл из темплейта посредством envsubst и транслировать его напрямую в kubectl create/apply -f - ? Зачем ещё конфигматы городить?

Alex Milushev
28.05.2018
08:28:18
Если только при старте или явном релоаде то зачем приседать и тащить еще одну зависимость.

Alex Milushev
28.05.2018
08:29:34
А чем не нравится текущий подход, ну не считая, что это велосипед?

Konstantin
28.05.2018
08:29:42
Резюмирую: "env legacy, потому что в нашем случае конфиг статический"

Dmitriy
28.05.2018
08:30:21
А чем не нравится текущий подход, ну не считая, что это велосипед?
Да я не говорил, что он мне не нравится. Смущает - да.

Alex Milushev
28.05.2018
08:30:35
А что смущает?

Дмитрий
28.05.2018
08:30:39
на нём можно тоже самое сделать

Dmitriy
28.05.2018
08:31:10
В проде пока нет куба. Строю в деве и хочу сделать более-менее правильно.

А что смущает?
Безопасность (относительная простота доступа к конфигам).

Ладно. Спасибо всем за дискуссию. Довольно не мало вариантов накидали. Буду думать и читать. :)

Google
Дмитрий
28.05.2018
09:26:50
Если не планируется увеличивать количество узлов базы в зависимости от нагрузки, я бы вообще не держал базу в кубе.

Harry
28.05.2018
09:28:57
Ну тут минус в том, что накатываться апдейт долго будет, т.к. базу на новый под сливать надо. Но тогда приложение может обращаться к базе через локалхост, не ходя в сеть

Andrey
28.05.2018
09:31:57
Ребят, на сколько я знаю, кол-во серверов etcd изменить не выйдет, верно? Хотелось бы добавить мастеров в других локациях… А переносить текущие, тоже не очень весело

Anton
28.05.2018
09:32:46
по документации etcd добавляешь ноды

Дмитрий
28.05.2018
09:32:59
etcd разве умеет в мультимастер?

Anton
28.05.2018
09:32:59
только вот зачем их в другие локации уносить?

Дмитрий
28.05.2018
09:33:28
что значит добавить мастеров?

Andrey
28.05.2018
09:33:34
Дмитрий
28.05.2018
09:33:46
лидер всегда один
так и я о том

Andrey
28.05.2018
09:34:08
что значит добавить мастеров?
вангую, что мастер-ноды совмещены с etcd-нодами

Andrey
28.05.2018
09:34:43
только вот зачем их в другие локации уносить?
Затем что после недавнего падения hetzner пришлось ручками consul’у говорить кто там главный. Ибо большая часть кластера оказалась там.

вангую, что мастер-ноды совмещены с etcd-нодами
Да, kubespray ем разворачивал. Правда там пока ничего особо нет и крутится в тестовом режиме, но накатывать заново - тоже время

Andrey
28.05.2018
09:37:38
Да, kubespray ем разворачивал. Правда там пока ничего особо нет и крутится в тестовом режиме, но накатывать заново - тоже время
он не очень-то бережно с etcd обращается. в мастер недавно кучу фиксов слили насчет этого. имеет смысл обновиться.

Andrey
28.05.2018
09:39:21
Спасибо за инфу. Ну dev обновил, с ним всё ок было.

Andrey
28.05.2018
09:40:35
Вообще, лично я планирую уходить от kubespray в сторону своего ансибловелосипеда. Кубспрей тот еще черный ящик, особенно при обновлениях, имхо.

Andrey
28.05.2018
09:41:42
Кстати, раз уж зашел разговор: а ни у кого метрики ноды не задваиваются при использовании prom operator? В прометеусе по два раза экспортеры дискаверятся

Google
Дмитрий
28.05.2018
09:42:10
сейчас через kubeadm кластер весьма просто разворачивается, зачем какой-то kuberspray?

Это раньше приходилось городить плэйбуки которые раскидывают бинари, конфиги, все эти дела.

Andrey
28.05.2018
09:43:31
И еще момент, никто не извращался так: нужно поднять еще один кластер монги, есть мысль добавить worker ноды и на них не через куб поставить монгу. Профит - легко подключить к мониторингу, минусы …?

Dmitry
28.05.2018
09:43:46
kubeadm уже умеет мультимастер поднимать?

Дмитрий
28.05.2018
09:44:41
kubeadm уже умеет мультимастер поднимать?
пол года назад когда я смотрел это было в бэтке

Дмитрий
28.05.2018
09:44:51
если не ошибаюсь

kubeadm уже умеет мультимастер поднимать?
https://kubernetes.io/docs/setup/independent/high-availability/

Кто пользовался docker swarm? На каких юз кейсах он предпочтительнее чем Kubernetes?

Konstantin
28.05.2018
09:58:08
Дмитрий
28.05.2018
09:58:28
Рустам
28.05.2018
09:58:50
скинь группу, плз)
В описании есть

Дмитрий
28.05.2018
09:59:07
Konstantin
28.05.2018
09:59:22
В описании есть
а она существует, та что в описании?

Konstantin
28.05.2018
10:00:01
ого, я там забанен чтоли)) спасибо

Fike
28.05.2018
10:09:52
Коллеги, добрый день. Есть такой архитектурный вопрос. Изучаю микросервисы, пытаюсь понять, как их правильно организовать. Стек простой: golang+cockroachdb. Итого у меня есть три варианта: 1) Контейнер приложения и контейнер базы лежат в одном поде внутри стейтфул-сета. 2) приложение и база в разных подах, база в стейтфул-сете, у базы отдельно есть балансировщик. 3) базу вообще вынести из кубов. Как организовать все кошерно/феншуйно?
Если у вас приложение висит вместе с базой, то вы не отмасштабировать отдельно их не сможете, ни разнести на разные ноды. Остальные два варианта debatable, классически верным считается держать базу отдельно (потому что иначе вы либо все равно ее привязываете к конкретным нодам, либо она у вас висит с сетевым диском, и там могут быть совсем интересные непредвиденные случаи), но это убивает половину ценности наличия кубера.

Andrey
28.05.2018
10:57:23
господа а что configmap чтобы обновить надо delete/create? более вменяемых способов нет?

Google
Mikhail
28.05.2018
11:05:57
Имеется в виду ситуация, когда deployment потребляет конфиг, конфиг меняется, а deployment (точнее, поды) нужно передёргивать руками

Vlad
28.05.2018
11:30:35
господа а что configmap чтобы обновить надо delete/create? более вменяемых способов нет?
рализовать в приложении перечитывание конфигов при их изменении

Andor
28.05.2018
12:30:06
А хельм магический апи кубера использует?

Anton
28.05.2018
12:43:57
кажется только обычный вариант ?

Dmitriy
28.05.2018
13:04:02
Кто пользовался docker swarm? На каких юз кейсах он предпочтительнее чем Kubernetes?
Ни на каких. Говоря, т.к. имею его в проде. Наколенное поделие

Михаил
28.05.2018
13:04:52
Andrey
28.05.2018
13:10:33
а можно ли прикрутить s3 bucket как shared storage?

Andrey
28.05.2018
13:11:08
minio?

Paul
28.05.2018
13:11:32
хотя извращенцы находились

Andrey
28.05.2018
13:14:36
а что посоветуете?

Paul
28.05.2018
13:15:07
BMR?

если да - ceph или локальное хранилище если нет - используйте решение вашего провайдера (Amazon EBS/Google storage)

Andrey
28.05.2018
13:18:41
cпасибо

Страница 587 из 958