Развертывание приложения на нескольких серверах. Организация защищенной сети

У меня есть web приложение, которое хочу распределить на несколько серверов (на данный момент в планах 4 штуки). Есть балансировщик, база данных, и 2 worker-а.

Я понимаю структуру как это собрать, и могу сделать это руками. Но мне хочется иметь функционал автоматического развертывания всего приложения (например при переезде на другие сервера).

Полагаю что мне стоит двигаться в сторону k8s или ansible. Но я не понимаю как происходит общение между worker-ом и базой данных. Можно открыть порт у базы данных, а worker-ам дать url для коннекта. Но это же не безопасно.

Мне кажется стоит настраивать коммуникации с использованием VPN между серверами. И уже через VPN обращаться к базе. Но я не могу найти подобного функционала (именно автоматическое развертывание защищенной сети) у k8s или ansible.

В идеале я вижу это так:

1) В конфиге указываешь список хостов и их роли.
2) Разворачивается VPN 
  2.1) поднимается сервер и выдаются сертификаты
  2.2) сертификаты перекидываются на другие сервера
3) На оставшихся свободных серверах запускается само приложение

Уважаемое сообщество, подскажите, я неправильно мыслю или не имею гуглить?) Возможно есть уже готовые решения моей проблемы?


Ответы (0 шт):