@kubernetes_ru

Страница 586 из 958
Михаил
27.05.2018
21:19:32
И какую проблему решит это действие? :)
Я вообще не понял какая изначально проблема

Anton
27.05.2018
21:19:47
Ну занеси сразу всё в куб
Не все сразу, а так да, зоопарк - у stolon consul бакенд

Andor
27.05.2018
21:22:27
Кажется перенос столона в куб - сильно больше задача

Google
Михаил
27.05.2018
21:22:54
Михаил
27.05.2018
21:23:45
Ну просто бд большая
Ты можешь по нормальному объяснить твою проблему?

Anton
27.05.2018
21:24:16
Ну так столон в кубе тебе решит эти проблемы
А какие плюсы, etcd + kube-dns его не заменят? Если не считать шаблоны

Dmitriy
27.05.2018
21:25:40
Гайз, а кто как конфиги в контейнер подсовывает?

Anton
27.05.2018
21:25:44
Ты можешь по нормальному объяснить твою проблему?
Моя пробоема что столон получается снаружи кластера, и мне его надо прописать в сервисах так чтобы они не заметили падение ноды

Alex Milushev
28.05.2018
06:02:36
Dmitriy
28.05.2018
06:06:40
Переменные окружения?
Да, это хорошо. Ну, а если Легаси? Энв переменные + шаблонизация? Или как?

Alex Milushev
28.05.2018
06:07:09
Ну тогда в файл его и на вход легаси

Ну или враппер который готовит конфиг на основе окружения

Vladimir
28.05.2018
06:09:43
а есть что нибудь готовое как в ансибле шаблонизатор j2 kube template какой нибудь?

Google
Leo
28.05.2018
06:10:40
На этапе сборки контейнера

Если есть возможность подпни разрабов

Dmitriy
28.05.2018
06:14:36
Вот. Файлы у меня и есть. Все завернуто в контейнер с нжинкс, который их раздает. Но это как-то... Странно и несекурно что-ли.

Вот и советуюсь, как бы это улучшить

Banschikov
28.05.2018
06:21:48
а есть что нибудь готовое как в ансибле шаблонизатор j2 kube template какой нибудь?
Если правильно понимаю, то возможно для этого helm подойдет

Vladimir
28.05.2018
06:30:55
Мы юзаем ансибль для этого, что бы на этапе сборки контейнера прокидывать в него конфиги, а их можно из ansible-secret подтягивать.

Вот. Файлы у меня и есть. Все завернуто в контейнер с нжинкс, который их раздает. Но это как-то... Странно и несекурно что-ли.

Dmitriy
28.05.2018
06:41:25
Его ж надо и на деве и на стейджа ещё запускать. И как его в девовую базу тогда отправлять?

Dmitriy
28.05.2018
06:43:23
Env же есть
Перечитай выше плз.

Konstantin
28.05.2018
06:44:54
Dmitriy
28.05.2018
06:45:20
Т.е. таки энв + шаблонизатор?

Konstantin
28.05.2018
06:45:59
Динамические конфиги, работает на ура

Dmitriy
28.05.2018
06:46:37
Можно подробнее? Ссылку там какую... Спасибо.

Konstantin
28.05.2018
06:47:42
Можно подробнее? Ссылку там какую... Спасибо.
Да любой докерфайл на гитхабе глянь, entrypoint скрипт кушает env и генерит. Логика одна. Кто-то на баше, кто-то на го

Dmitriy
28.05.2018
06:48:17
А, ну т.е. как я и говорил. Энв + шаблон

Ок. Это понятно и логично

Как разделять энв для дева, стейджа, etc?

Konstantin
28.05.2018
06:48:56
Шаблон (tpl) или просто строку запуска генерит

Google
Dmitriy
28.05.2018
06:50:45
Допустим вот в одном окружении Линк на одну базу, а в другом Линк в другую базу

Konstantin
28.05.2018
06:51:54
Как разделять энв для дева, стейджа, etc?
так уже от задачи к задаче. либо меняется профиль приложения, сохраненный в образе, типа spring-profile либо каждую переменную передаёшь

Dmitriy
28.05.2018
06:52:34
Вот если каждую переменную, то тут уже не выходит IaC

Эдуард
28.05.2018
06:52:34
Dmitriy
28.05.2018
06:53:16
У меня маунт файлов (на каждом серваке /opt/project/.env)
Т.е. у тебя нет автоскейлинг группы, где сервера автоматом добавляются?

Эдуард
28.05.2018
06:53:59
Т.е. у тебя нет автоскейлинг группы, где сервера автоматом добавляются?
Попадают туды ансиблом, креды валяются на серваке в офисе под луксом

Konstantin
28.05.2018
06:54:07
Эдуард
28.05.2018
06:54:33
Т.е. у тебя нет автоскейлинг группы, где сервера автоматом добавляются?
Автоскейла нет, только вручную запуск плэйбуков. Но к заббиксу прибить не сложно

Dmitriy
28.05.2018
06:55:21
да перестань, чего это нет?
Ну если только через энв файлы

Но и это не решает проблемы автоскейлинга и добавления серверов

Нфс как выход, но это точка отказа

Konstantin
28.05.2018
06:56:29
Ну если только через энв файлы
https://github.com/sameersbn/docker-gitlab/blob/master/kubernetes/gitlab-rc.yml

рандом конфиг с гитхаба

Dmitriy
28.05.2018
06:57:53
Это я понимаю. Ты предлагаешь как раз вариант только для разных энвов разные файлы

Копипаста и дублирование

Это ж плохой подход. Или я не верно понимаю?

Konstantin
28.05.2018
07:00:28
Копипаста и дублирование
ты так говоришь, как будто готовя ансибл ты вводишь одну команду и он тебе генерит плейбуки и конфиги под любую задачу, вжжууух

Dmitriy
28.05.2018
07:01:00
Я их руками пишу и стараюсь не допускать дублирования

Ну и инвентори максимально использую с переменными

Konstantin
28.05.2018
07:01:46
запуск то всё равно идёт через указание хостов\переменных

Google
Konstantin
28.05.2018
07:01:53
чем тут не так

Dmitriy
28.05.2018
07:02:00
Только хоста

Все остальное автоматом

Хост файла

Konstantin
28.05.2018
07:08:27
Только хоста
у тебя для каждого хоста отдельная роль\конфиги?

Dmitriy
28.05.2018
07:09:05
Нет, я имел ввиду хостс файл

Инвентори

Можем перейти в личку, ибо оффтопик уже

Konstantin
28.05.2018
07:09:59
Ладно, забей, а то хотел по аналогии с ансиблом показать, а в итоге про ансибл говорим))

Dmitriy
28.05.2018
07:10:58
:)

Alex Milushev
28.05.2018
07:47:45
Допустим вот в одном окружении Линк на одну базу, а в другом Линк в другую базу
Передаете линк на базу в env и потом подставляете в конфиг. Все параметры зависимые от среды передаются (внезапно) как переменные среды.

Не нравится точка входа которая генерирует конфиг -- впиливайте в приложение поддержку переменных среды.

Dmitriy
28.05.2018
07:53:04
Передаете линк на базу в env и потом подставляете в конфиг. Все параметры зависимые от среды передаются (внезапно) как переменные среды.
То есть, если у меня 5 сред, то и ямлов для деплоймента тоже 5? Не кажется слабо масштабируемым решением?

Alex Milushev
28.05.2018
07:53:52
Нет, у тебя 5 конфигмапов в кубере и переменные среды берутся оттуда

Konstantin
28.05.2018
07:53:55
То есть, если у меня 5 сред, то и ямлов для деплоймента тоже 5? Не кажется слабо масштабируемым решением?
Ты про клонирование говоришь, при масштабировании конфиг не меняется

Alex Milushev
28.05.2018
07:54:30
Мало того, если вспомнить про сервис дискавери то будет еще меньше

Dmitriy
28.05.2018
07:54:46
Масштабирование - это понятие относительное. Масштабировать можно и энвы. Контекст разный может быть

Не пинайте ногами. Пытаюсь сложить в голове логичную структуру.

Konstantin
28.05.2018
07:55:54
Я хз какие ещё контексты у масштабирования, кроме как изменения размера

Google
Alex Milushev
28.05.2018
07:55:59
Так, мы сейчас конкретную проблему решаем или сферически в вакууме делаем всех счастивыми?

Dmitriy
28.05.2018
07:57:06
google://kubernetes+configmap
пошел читать. Спасибо

Alex Milushev
28.05.2018
07:57:41
И вот тоже полезно: https://12factor.net/

Дмитрий
28.05.2018
07:57:49
:)
Я ничего не понял о задаче, но конфиги можно хранить не nfs, а в том же glusterfs и единой точки отказа не будет и маунтить можно на хост прям или в поду. Если URL нужно внутрь контейнера при сборке Dockerfile прокинуть, то лучше передавать переменную с урлом через —build-arg при сборке конетенйра через docker build и иметь единый Dockerfile для разных сред . При этом внутри файла переменная активируется через директиву ARG. Если у тебя внутри приложения есть конфиг файл, а само приложения не умеет из переменных окружения подхватывать настройки, а только из файла, то если конфиг у тебя в формате yaml, то прокатит такая конструкция back_host: "<%= ENV.fetch('BACK_HOST', 'http://localhost:3000') %>" в конфиг файле Для puba.rb например такой формат environment ENV.fetch('RAILS_ENV') { "development" } Такая конструкция позволяет в файл прокидывать переменные из окружения.

Alex Milushev
28.05.2018
07:58:11
Гластер, нфс?

Dmitriy
28.05.2018
07:58:59
Gluster редкое г... Наелся я его уже.

Про конфигмапы интересно. Спасибо большое.

Gleb
28.05.2018
07:59:26
Gluster редкое г... Наелся я его уже.
не очень то и редкое, но говно то еще да

Дмитрий
28.05.2018
07:59:28
То есть, если у меня 5 сред, то и ямлов для деплоймента тоже 5? Не кажется слабо масштабируемым решением?
Пока писал не заметил что у тебя там yaml файл так что такая конструкция должна работать database: <%= ENV.fetch('MONGOID_DATABASE') %>

Konstantin
28.05.2018
07:59:41
Гластер, нфс?
И контейнеры оркестрировать через systemd)

Alex Milushev
28.05.2018
07:59:41
Есть конфигмапы, есть секреты, есть хелм, есть init контейнера, но нет, будем жевать кактус...

Дмитрий
28.05.2018
08:00:27
будет один файл, а его содержание будет меняться в зависимости от того какие переменные ты туда передашь во время запуска контейнера

Alex Milushev
28.05.2018
08:00:29
Dmitriy
28.05.2018
08:01:16
Dmitriy
28.05.2018
08:01:50
И вот тоже полезно: https://12factor.net/
12фактор знаю, да. Но не всегда применимо, к сожалению.

Дмитрий
28.05.2018
08:01:54
Я просто нихрена не понимаю о чём вы пишете)

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