Size: a a a

2020 June 05

S

Sergey in Go-go!
Никита
Окей, есть несколько нод, на которых крутится только бэкэнд. База отдельно. Брать кубер для того, чтобы деплоить - тут перебор будет. Что тогда лучше взять? Если запихнуть приложения в контейнеры, то как их обновлять автоматом?

Я поэтому и думал взять ансибл. Может что-то еще посоветуете.
Gitlab-CI + gitlab-runner'ы на нодах. У нас так, всех живы
источник

S

Sergey in Go-go!
Vladislav Milenin
в раннере заходите по ssh на сервер, docker pull && docker run
это вы перемудрили или недокрутили, смотря с какой стороны посмотреть)
источник

Н

Никита in Go-go!
Vladislav Milenin
в раннере заходите по ssh на сервер, docker pull && docker run
Ну сейчас как раз так, только зачем gitlab ci если все равно руками надо?
источник

Н

Никита in Go-go!
Sergey
Gitlab-CI + gitlab-runner'ы на нодах. У нас так, всех живы
А сколько у вас нод сейчас?
источник

VM

Vladislav Milenin in Go-go!
ничего руками не надо
источник

Н

Никита in Go-go!
Кстати, дженкинс тут сгодится?
источник

S

Sergey in Go-go!
Никита
А сколько у вас нод сейчас?
Под сами сервисы 8 плюс под сборку и тесты - 2 вроде.
источник

Н

Никита in Go-go!
Sergey
Под сами сервисы 8 плюс под сборку и тесты - 2 вроде.
Нормально
источник

Н

Никита in Go-go!
Тогда вообще вопрос, это на каком масштабе тогда уже смотрят на кубер и прочее?
источник

S

Sergey in Go-go!
от 10-20 сервисов, особенно если по несколько инстансов надо - почти наверняка будет удобней в кубере крутить
источник

Н

Никита in Go-go!
Гитлаб CI может сразу на несколько серверов менеджерить?
источник

S

Sergey in Go-go!
ты можешь на сколько угодно серверов установить раннеры, и комбинировать их в задачах как надо. сам gitlab-ci только раздаёт задачи раннерам. у нас просто на нодах под сервисы раннеры запущены в привелигерованном режиме. в таске просто делается пулл нового образа, убийство старого контейнера и запуск нового - вот и весь деплой.
источник

ЛА

Локоть Анатолий... in Go-go!
Никита
Гитлаб CI может сразу на несколько серверов менеджерить?
В гитлабе просто вызываются какие-то команды. Можно делать ровно то, что делается руками для деплоя, но в гитлабе. Хоть тот же ансибл вызывать, хоть докер.
Но для работы с докером раннер гитлаба должен быть запущен в privileged режиме.

Есть обходной путь без privileged с использованием kaniko, но у меня он не завелся.

Кубернетес и правда слишком громоздкий и ниша по между докером обычным и кубером как-то не очень занята...
Я бы предложил докер контейнеры руками поднимать и опускать. Но должен быть nginx снаружи, чтобы обеспечил переключение входящих запросов между ними
источник

VS

Viktor Suprun in Go-go!
Никита
Почему?
Потому что, кмк, оно сойдёт для установки аппа из репа, ну, типа через apt/yum upgrade/update, но в реп надо таки еще задеплоить, пересобрать индекс... проще заюзать jenkins для этого или аналог. из него так же можно тот же самый ansible запустить.
иначе получится нечитаемый плейбук с кучей шелл-команд... не, конечно можно запилить нечитаемый плейбук который будет собирать апп, разливать по куче бэкендов, дергать везде апп-сервер (ну, тут все от архитектуры зависит...), но нахер это надо? ансибл - для как выше сказали для оркестрирования, если с его помощью можно решить что-то косвенное - не значит что нужно так делать. своему делу - свои инструменты.
источник

C

Cheese in Go-go!
Онлайн митап по Go - Карантин, Go away! интересные доклады получились
источник

C

Cheese in Go-go!
первый про di dip второй про структуру))
источник

VS

Viktor Suprun in Go-go!
да, чутка подзатянул с ответом) сложно пить, играть и отвечать одновременно :D
источник

Н

Никита in Go-go!
Viktor Suprun
Потому что, кмк, оно сойдёт для установки аппа из репа, ну, типа через apt/yum upgrade/update, но в реп надо таки еще задеплоить, пересобрать индекс... проще заюзать jenkins для этого или аналог. из него так же можно тот же самый ansible запустить.
иначе получится нечитаемый плейбук с кучей шелл-команд... не, конечно можно запилить нечитаемый плейбук который будет собирать апп, разливать по куче бэкендов, дергать везде апп-сервер (ну, тут все от архитектуры зависит...), но нахер это надо? ансибл - для как выше сказали для оркестрирования, если с его помощью можно решить что-то косвенное - не значит что нужно так делать. своему делу - свои инструменты.
Спасибо
источник

VS

Viktor Suprun in Go-go!
да немае за що...
источник

АЛ

Артем Лазарев... in Go-go!
Локоть Анатолий
В гитлабе просто вызываются какие-то команды. Можно делать ровно то, что делается руками для деплоя, но в гитлабе. Хоть тот же ансибл вызывать, хоть докер.
Но для работы с докером раннер гитлаба должен быть запущен в privileged режиме.

Есть обходной путь без privileged с использованием kaniko, но у меня он не завелся.

Кубернетес и правда слишком громоздкий и ниша по между докером обычным и кубером как-то не очень занята...
Я бы предложил докер контейнеры руками поднимать и опускать. Но должен быть nginx снаружи, чтобы обеспечил переключение входящих запросов между ними
ниша там занята docker-compose и docker-swarm называется
источник