обнаружением хостов(куда балансировать) в сети?
есть :) но для более конкретного ответа, нужны подробности...
Хорошо, висит фронт со статикой, на нём же nginx проксирует дальше запросы на бэкэнд во внтутренней сети, (бэкэнд автоскалируемая группа ВМ, в зависимости от нагрузки создаёт и удаляет инстансы), надо распределять нагрузку на эти инстансы(которых в разный момент времени разное количество с рандомными адресами от x.x.x.3 до x.x.x.55) можно конечно захардкодить весь пул адресов и пусть он плюётся в доступные, но это некрасиво как-то
ВМ на основе чего?
yandex container solution с докером
не знаком глубоко с яндексовскими облачными сервисами, но вероятно есть какое то api позволяющее отслеживать событие запуска/остановки вм.... если нет, то можно самому сделать скрипт, который например при старте ВМ вызвал бы некий урл, тем самым сигнализируя что вм запустилас и на балансировщике бы добавлялся адрес свежезапущеной машины в апстрим nginx.... либо идти ещё дальше и делать service discovery....консул и есу подобные штуки
ну то есть готовых коробочных решений как таковых нет, придётся говнокодить?
а как вы это представляете? в вашем случае так или иначе балансер должен как то узнавать что появилась новая ВМ... эта инфа либо от "супервизора" должна прилетать, либо ВМ должна этим озаботится... какое тут готовое может быть? еслиб допустим у вас на одной и той же машине сервис масштабировался количествой контейнеров, то другое дело, но у вас не так
допустим, если в одной подсети есть ТОЛЬКО эти инстансы, можно просто сканировать сеть на наличие новых хостов, as ex
haproxy и его хэлсчеки забейте в его бакенды всю подсеть и пущай чекает :)
Мне кажется, лучше через нечто вроде нотификации/регистрации - ВМ поднялась, и зарегистрировалась в БД, например. А там уже хуки.
Обсуждают сегодня