Пока что из опыта (не очень большого)
— Нужно выкатить в продакшен вот это!
— А как тут…
— У нас сроки горят, нужно сейчас!
— Да, но ведь…
— Все согласовано и утверждено, ты хочешь сейчас все отметить, сорвать, убытки…
— …
И получается что через 4 месяца я сижу и думаю, как бы это все выкаченное хоть как-то привести в нормальный вид без простоев и ошибок
А можно мне на примере?
Вот у меня есть три полноценных контейнера с php+php-fpm, mysql и rabbitmq + поверх этого живет нормальный железный сервер с nginx (фронт)
Если мне нужно это все поднять докером, и потом обновлять по мере необходимости.
Первоначальная настройка понятно — машина с php+php-fpm, mysql, rabbit, все настроили, пошли данные.
Mysql и rabbitmq мы не будем обновлять скорее всего никогда, там данные внутри. Они же потеряются при обновлении докер контейнера?
Обновление пхп — собрали образ, задеплоили в репозиторий, оттуда на хост.
Все верно?
Например можно выставить в настройках HA-proxy активный сервер и пассивный.
Тогда все запросы пойдут на одну ноду, но если что — то вот вам резервная нода.
Главное следить во все глаза за статусом обоих мастеров :)
Я честно не знаю, как там работает Шэф.
Для меня такая скорость (теоретическая. я могу ошибиться, но не сильно :)) приемлима. Попробуйте увеличить кол-во форков
Вообще ансиб штука последовательная. Пока она не выполнит шаг на всех нодах — дальше не пойдет. Возможно этим выезжают Паппеты и Шэфы
я прям так вот не измерял, но субьективно дискомфорта не ощущаю.
Плейбук из 70 шагов выполнится ну минуты за 2 для хоста.
Для бОльшего кол-ва хостов выезжаем за счет форков.
А сам коннект у вас по ssh долгий? Может быть дело в этом?
А соеденены у вас ноды кластера как? напрямую в сетевые или через свичи? Если у вас потеряется линк между живыми нодами — у вас будет два мастера и по восстановлении линка получите кашу.
Просто по ссылке, на которую вы ссылаетесь при настройке такого механизма как раз и советуют выключить этот механизм для нод меньше трех :)
Вообще по опыту — сложные схемы запуска служб в кластерах у меня работали криво :) Может руки конечно, не исключено.
Эту схемы вы тестировали? Она уже у вас какое-то время работает?
Работать без клиентов не всегда хорошо :)
Один раз коллега применил не совсем верный конфиг ssh на части серверов и доступ по ssh туда отвалился :) Без агентов было бы не просто
Я честно смотрел на Докер и думал, как его прикрутить себе в проект. Не нашел возможности.
Для общего уровня развития — как происходит выкладка нового кода с контейнерами? Вот есть у меня фронт, за ним 6 апстримов… Что будет в момент перевыкладывания?..
Никак не представляю :) В том же var файле для плейбуков этих переменных вагон.
Я отметил тот факт, что о возможности СПРАШИВАТЬ у пользователя переменные в момент выполнения плейбука я не знал. До этого все жестко прописывал в конфиге, ну или через ключ -е
— Нужно выкатить в продакшен вот это!
— А как тут…
— У нас сроки горят, нужно сейчас!
— Да, но ведь…
— Все согласовано и утверждено, ты хочешь сейчас все отметить, сорвать, убытки…
— …
И получается что через 4 месяца я сижу и думаю, как бы это все выкаченное хоть как-то привести в нормальный вид без простоев и ошибок
Вот у меня есть три полноценных контейнера с php+php-fpm, mysql и rabbitmq + поверх этого живет нормальный железный сервер с nginx (фронт)
Если мне нужно это все поднять докером, и потом обновлять по мере необходимости.
Первоначальная настройка понятно — машина с php+php-fpm, mysql, rabbit, все настроили, пошли данные.
Mysql и rabbitmq мы не будем обновлять скорее всего никогда, там данные внутри. Они же потеряются при обновлении докер контейнера?
Обновление пхп — собрали образ, задеплоили в репозиторий, оттуда на хост.
Все верно?
Тогда все запросы пойдут на одну ноду, но если что — то вот вам резервная нода.
Главное следить во все глаза за статусом обоих мастеров :)
Для меня такая скорость (теоретическая. я могу ошибиться, но не сильно :)) приемлима. Попробуйте увеличить кол-во форков
Вообще ансиб штука последовательная. Пока она не выполнит шаг на всех нодах — дальше не пойдет. Возможно этим выезжают Паппеты и Шэфы
Плейбук из 70 шагов выполнится ну минуты за 2 для хоста.
Для бОльшего кол-ва хостов выезжаем за счет форков.
А сам коннект у вас по ssh долгий? Может быть дело в этом?
Мы используем Ansible, разработчикам он очень понравился, и для администрирования понятен.
Просто по ссылке, на которую вы ссылаетесь при настройке такого механизма как раз и советуют выключить этот механизм для нод меньше трех :)
Вообще по опыту — сложные схемы запуска служб в кластерах у меня работали криво :) Может руки конечно, не исключено.
Эту схемы вы тестировали? Она уже у вас какое-то время работает?
Т.е. у вас два молодца держат пистолеты у своего виска и если соседа нет — пускают пулю сами себе?
Один раз коллега применил не совсем верный конфиг ssh на части серверов и доступ по ssh туда отвалился :) Без агентов было бы не просто
PS. Сейчас используем ansible )
Для общего уровня развития — как происходит выкладка нового кода с контейнерами? Вот есть у меня фронт, за ним 6 апстримов… Что будет в момент перевыкладывания?..
Я отметил тот факт, что о возможности СПРАШИВАТЬ у пользователя переменные в момент выполнения плейбука я не знал. До этого все жестко прописывал в конфиге, ну или через ключ -е
А вот про интерактив с запуском плейбука услышал впервые :)