
Михаил
27.05.2018
21:19:32

Anton
27.05.2018
21:19:47

Михаил
27.05.2018
21:21:49

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

Google

Михаил
27.05.2018
21:22:54

Anton
27.05.2018
21:23:02

Михаил
27.05.2018
21:23:45

Anton
27.05.2018
21:24:16

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

Anton
27.05.2018
21:25:44

Михаил
27.05.2018
23:04:45

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

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

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

Konstantin
28.05.2018
06:43:03

Dmitriy
28.05.2018
06:43:23

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

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

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

Эдуард
28.05.2018
06:52:34

Dmitriy
28.05.2018
06:53:16

Эдуард
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
рандом конфиг с гитхаба

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
Не нравится точка входа которая генерирует конфиг -- впиливайте в приложение поддержку переменных среды.

Dmitriy
28.05.2018
07:53:04

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

Konstantin
28.05.2018
07:53:55

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

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

Дмитрий
28.05.2018
07:59:28

Konstantin
28.05.2018
07:59:41

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

Dmitriy
28.05.2018
08:00:24

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

Alex Milushev
28.05.2018
08:00:29

Dmitriy
28.05.2018
08:01:16

Alex Milushev
28.05.2018
08:01:47

Dmitriy
28.05.2018
08:01:50

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