@Anrek

Корректно ли я подобрал технологии для простого веб сервера?

Здраствуйте!

Есть задача: развернуть на VM простые фронт, бек и базу данных. При этом:
- бд должна иметь публичный ip
- фронт и бек настроить автодеплой (чтобы из мастер ветки лилось в прод)
- чтобы бек и фронт были в контейнерах и чтобы к беку можно было обращаться через url через Postman.

Вижу сейчас последовательность работы вижу так:
- бд кладу просто в отдельный готовый кластер, который представляет для баз данных владелец хостинга), у нее и приватный и публичный ip есть
- арендую vm, ставлю ее в 1 подсети с кластром бд, в vm устанавливаю докер, докер compose и nginx, заворачиваю фронт и бек в докер контейнеры, пушу контейнеры в докер hub. Затем на сервере пишу yaml файл для докер compose (сервисы: nginx, front и back), по ссылке с докер хаб беру контейнеры, запускаю.

Вопросы:
1) Правильно ли я вижу последовательность и нужно ли что-то еще кроме nginx и докера?
2) Как формируется url для бека, если я хочу к нему из вне обращаться? (если важно, хостинг selectel)
3) При помощи чего можно в данном случае организовать автодеплой (тут контейнры деплоятся)? Я понимаю как например соединить Google App Engine и bitbucket, по сути пишешь пайплайн, в битбакете настраиваешь деплой в настройках со ссылкой какой именно сервис обновлять и готово. А тут как? всегда сначала создаем контейнер у себя, потом его пушим, а он уже деплоится на сервер автоматически или тут другая логика?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
krax1337
@krax1337
личинка Девопса
Привет!

1) Верно, домен с https. И далее уже в nginx'e будет, / -> фронт, /api -> бэк. К примеру вот так.

2) Правильной настройкой nginx и обратным прокси на контейнер с бэком.

3) Можно воспользоваться бесплатным CI, к примеру Gitlab CI/CD или Github Actions. Пушить образ в приватный registry. Дальше скрипт идет на сервер и меняет докер образ. Сервер с Docker соответственно должен иметь доступ к этому приватному registry. Можешь посмотреть на такой пример https://stackoverflow.com/questions/26423515/how-t.... Или можешь покопать в сторону решений, как Flux или ArgoCD. Но k8s наверное уже будет overhead.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы