Как стать автором
Обновить

Комментарии 10

мы не смогли достичь бесшовности деплоев в случае Nomad

Можно подробнее на этом баге? Насколько я понимаю Consul можно настроить чтобы он проверял доступность реального API и таким образом приложение должно быть запущено чтобы оно было воспринято как рабочее. Или helathcheck в момент деплоя не участвует и участвует только для проверки задеплоенных контейнеров?
К сожалению, в тот момент мы не смогли добиться того, чтобы номад не убивал прежний контейнер, не дождавшись работоспособного нового. Возможно, в более новых его версиях это возможно, но в имевшейся у нас в то время на продакшене — так не работало
это canary деплой, когда новый инстанс поднимается рядом, без убивания старого. По поводу проблем с выводом нод на обслуживание и большими кластерами — не сталкивался с такими жесткими глюками ( юзаем номад больше 2х лет). Общались с разработчиками по поводу этих багов?
Но мы также столкнулись и с несколькими недостатками

Такое можно назвать «не смогли». Причём, не в плохом смысле — вполне допускаю, что иногда проще что-то ещё попробовать, чем пытаться что-то сделать.

P.S. Чтобы не было недопониманий — говорю это как человек, который «смог в Nomad».
говорю это как человек, который «смог в Nomad».

Тут уместна ссылка на вашу статью Nomad: проблемы и решения
В какой-то момент там даже FreeBSD стояла, которую было не очень удобно поддерживать.

штА?
очередной наброс от горе-линухо-девляпсов?
ну да, готовых рецептов и докерфейлов в тырнетах не найти — головой приходится думать, а некогда. триклятая суета тайм2маркет...

штА?
очередной наброс от горе-линухо-девляпсов?


В контексте Kubernetes/Nomad, как раз хорошо заточенных под Docker — вполне себе разумный довод.
Аналогов Docker под FreeBSD нет.

Форк Docker для FreeBSD заброшен 4 года назад.
Ближайший сколько-то полноценный аналог — форк rkt для FreeBSD, называющийся jetpack — заброшен 3 года назад.

Но даже в годы своего развития оба этих проекта были не более, чем экспериментальными альфа-версиями, не пригодными для production.

Без Docker/rkt/пр. — как раз именно что
не очень удобно поддерживать.
Предположим, что у вас есть РНР-приложение, которое состоит из nginx и php-fpm – классическая схема. Скорее всего, вы захотите, чтобы и nginx и php-fpm контейнеры были всегда вместе. Kubernetes позволяет этого добиться, описав их как один общий pod. Как раз этого мы и не могли получить при помощи Nomad.


Коллеги, можете разъяснить, пожалуйста?
Сейчас задумываюсь о переходе с docker-swarm на nomad, но этот момент очень важен.

Предположим, в docker-compose я описываю контейнер, котоорому нужен нжинкс, пхп и какой-нибудь редис.
я могу прописать в конфигурационном файле php-fpm:9000, redis:6432 и все. днс автоматически заменит redis на нужный ip внутри одной сети, которую создаст сворм.

Исходя из сообщения выше получается, что номад так не умеет? Или внутри одного «окружения» я смогу запустить одовременно нжинкс и пхп, которые смогут общаться так, как я описал выше?

Спасибо за ответ.

Если они будут запущены в пределах одной group, они будут на одной ноде и смогут общатся. Правда если вы укажите им сети, так как автоматически номад сети не делает.

Зарегистрируйтесь на Хабре , чтобы оставить комментарий