Alexander
в смысле микросервис
Konstantin
а потом у них случился контроль версий окружения, а потом они захотели страшно - cgroups, а потом они поняли, что никакая дедупликация памяти у гипервизора не даст такого профита, как какой-нибудь вариант chroot, а еще встал в всю голову вопрос service dicovery
Alexander
если приложение монолитное, то там ансибл рулит докер ваще, так что вы все правильно делаете
Dmitrii
Так я еще час назад выше писал что многие используют докер, хотя их проекты много проще чем даже наши
Alexander
это глюк :)
Alexander
и желание попробовать новую технологию
Magistr
докер нужен когда у тебя 100 инстансов и их надо утилизировать под 90%
Alexander
ну или еще что-то из этой серии
Alibek
А можно поподробнее? Я что-то не очень понял кейс.
Вот пришли вы в новую организацию, а там уже давно используется openvz под прод и прод не абы какой, а постоянный tcp от 130тыс-150тыс клиентов, в котором жить и жить ещё до полного перехода на свежее ядро, и параллельно развёрнута половина хостов в lxc с целью слезть с openvz, в будущем. Там в такой тут докер применим, тут нужна именно система управления конфигурациями или менять всё и вся (в условиях ограниченных ресурсов это не так-то просто сделать, бабло решаетЪ).
Alibek
"в такой"/какой
Dmitrii
докер нужен когда у тебя 100 инстансов и их надо утилизировать под 90%
Какая то проблема утилизировать 100 инстансов в амазоне например? Не вижу связи между утилизацией и докером 😐
Alibek
Профит докера не столько утилизации (это следстиве функций cgroups, которое наследует lxc, который наследует docker), а в возможности фиксировать состояние (версионность, реализованная по аналогии с git).
Dmitrii
Так состояние можно зафиксировать и с помощью Ansible + Git
Dmitrii
Если честно, до сих пор так и не увидел реальное объяснение или юзкейс для применения докера, где бы он не выглядел как лишняя сущность
Dmitrii
Я не докеро-хейтер, просто не привык пихать в продакшен все подряд
Magistr
запаковать говнокод вот идеальный юзкейс
Alibek
Так состояние можно зафиксировать и с помощью Ansible + Git
Вот выше сказано - запаковать говнокод, и зафискировать его с нумером. Ансибл не фиксирует состояние, он фиксирует конфигурацию, что-бы зафиксировать с его помощью стостояние, надо всё окружение тоже вести у себя (например, срезы репозиториев (deb,rpm) с пакетами на момент времени).
Dmitrii
Ок. Согласен, правда про си демоны опять же я выше уже писал, что это вполне себе юзкейс.
Dmitrii
Но можно ли сделать тоже самое без докера?
Dmitrii
Ведь LXC контейнер это просто директория с файлами.
Dmitrii
Ansible + Git + Tar
Magistr
хмм надо побольше про lxc почитать
Alibek
Можно, можно снапшотами на fs можно tar'ом.
Dmitrii
Вооот. Так стоит ли тащить целый докер ради куска говнокода?
Alibek
ну в докере это "conf-managment+git+tar" уже решено, и возможно даже лучшим образом, но под это надо общее окружение (как минимум ядро с cgroups и совместимый lxc).
Dmitrii
У вас на каждом проде разное ядро и несовместимые LXC?
Dmitrii
🙃
Alibek
не у меня - у жизни, она такая сука разнообразная ))
Anton
Так мы шо, пришли в итоге к тому, что надо только ансибл с гитом?
Dmitrii
😀
Anton
В идеальном мире с красными велосипедами, я про него
Alibek
если всё как в жизни - то да ))
Alibek
или проектировать на века ))
Alibek
Когда там квантовые пк дома у каждого?
Anton
А если смотреть в рамках пары машин с кучей разных приложений, то anisble + lxc + git?
Alibek
пары машин? Речь о железках с 48core/1TiB/100TiB? Это я к тому, что ресурсы решают
Alibek
на таких железках может быть за 100 контейнеров
Andrey
nginx 1.8.x -> 1.10.0
Anton
Ага, о здоровых таких машинах с конями. (Я про идеальное средство виртуализации сейчас)
Dmitrii
Антон, LXC это не виртуализация как бы
Anton
ээээ
Dmitrii
Внкзапне
Anton
Ага
Anonymous
Добрый день, есть ли еще группы для фронтеншиков
Anonymous
/stat@comstatbot
Combot
comstatbot.xyz/chat/-1001030317489
Alibek
ну если у вас бд под которую надо 1TiB/10TiB и конкуренция будь здоров, то тут вам не до контейнеров будет. ))
Aleksandr
/stat@comstatbot
Combot
comstatbot.xyz/chat/-1001030317489
Anton
/stat@comstatbot
Combot
comstatbot.xyz/chat/-1001030317489
Alibek
Вообще, с точки изоляции процессов lxc начал свою путь на полку истории когда в systemd появился nspawn и скорее всего docker тоже заменить внутри lxc на nspawn
Dmitrii
О знаете какие грабли у нас были с LXC
Dmitrii
Вспомнил
Alibek
Ленард уже везде пустил свои корни.
Dmitrii
Были у нас контейнеры с php fpm
Dmitrii
И на хост машине тоже был. Ну типа легаси
Dmitrii
Так вот когда пытались рестартануть fpm на хост машине, оно видело процессы fpm которые были внутри контейнеров но убить их не могло
Alibek
Ну сразу - ССЗБ ))
Dmitrii
Вот это жопа была, песец
Dmitrii
Причем стало понятно что именно из-за этого далеко не сразу
Alibek
ну решается-же просто - отдельный юзер, не?
Alibek
отдельных юзер для php-fpm на хосте
Dmitrii
У нас же ансибл. Везде один пользак 😂
Dmitrii
Да мы в итоге костылем залепили - поставили тайм-аут 1 сек в апстарте
Oleksandr
У нас же ансибл. Везде один пользак 😂
а как ансибл и один пользователь для fpm связаны?
Dmitrii
Потом спустя какое то время избавились от пхп на хосте
Dmitrii
а как ансибл и один пользователь для fpm связаны?
Ну роль для раскатки пхп то одна и костылей в ней не хотелось делать
Alibek
эм... можно было переменной хоста в для php-fpm сделать, это-же template для конфига в pool.d
Dmitrii
У нас не предполагалось что это изменяемое значение
Dmitrii
Меньше переменных - проще поддержка плейбуков
Dmitrii
А то я как то видел плейбуки, это, простите меня, какое то мета программирование
Dmitrii
Я за явный декларативный подход
Dmitrii
И все плейбуки из galaxy мне напоминают тоже самое
Alibek
эмм... тогда-же главное свойство ролей теряется - модульность, у меня одна роль для nginx для разных хостов под переменные, несколько базовых темплейтов делящие юзкейсы, в зависимости от переменных для хоста утснавливается поведение и декларативность никуда не теряется.
Dmitrii
У нас тоже есть роль nginx и она его ставит, делает базовые на настройки. Но виртуалхосты не трогает
Dmitrii
Слишком разные они могут быть
Alibek
И как тогда вы виртуалхостами рулите? ручками что-ли?
Dmitrii
А это проблема?) 2 команды всего.