- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
Объясните, как правильно разрабатывать в 2021 году
Есть один продукт, состоящий из сайта, сервера и БД, связывающей их.
Сайт на PHP, с микрофреймворком, устанавливаемым через composer, отображающий данные из БД
Сервер - программа, слушающая порт из свой конфигурации и записывающая в БД
Таковы потребности, что на один сервер может быть установлено одна и более изолированных копий этого продукта (сервер + сайт + БД), а серверов несколько.
Сайты разделяют через виртуальные хосты nginx, сервера по портам, БД по имени.
Может случиться такое, что нужно остановить сайт или сервер, оставив второе работать.
Проблема в том, что развёртывание делается вручную переносом копий файлов, что доставляет страданий.
На серверах за всё время образовался бардак в конфигурациях
Что здесь нужно? Kubernetes, swarm, docker, docker-compose?
Проблема в том, что никогда не приходилось внедрять такое самостоятельно.
Смотрю в сторону docker-compose, но везде инструкции только для одного экземпляра продукта на одном сервере (или я чего-то не понимаю)
Объясните, пожалуйста, по-хорошему, что делать в таком случае
3_dar 11.02.2021 23:35 # +1
vistefan 12.02.2021 01:03 # +1
vistefan 12.02.2021 01:03 # +1
Для каждого сервиса у тебя получится свой докерфайл, и лучше постараться использовать готовый с докерхаба. Гиганты типа nginx, php и СУБД разумеется имеют там свои "официальные" докерфайлы, от которых можно форкаться через FROM, и порой даже ничего больше и делать не надо, если подбросить исходники в нужный вольюм.
docker-compose тебе нужен чтобы не ебаться с контейнерами вручную, приложение из нескольких контейнеров будет запускаться разом и в одной виртуальной сети, контейнеры друг друга видят, а другие не видят. После запуска можно будет один контейнер перезапустить спокойно, или убить, не трогая остальные. Насколько я знаю, можно докер-композом запускать и несколько инстансов приложения, но если тебе нужно развести это все по портам, доменам и машинам, лучше использовать кубернетис, он как раз для этого и есть, там можно обновляться без даунтайма, задавать сложные правила для маршрутизации между инстансами, распределения нагрузки и так далее.
vistefan 12.02.2021 01:03 # +1
Fike 12.02.2021 03:15 # 0
свежо предание...
одна из моих NIH-мечт - это написать, блядь, нормальный CI, но хуй же там был
Мистер Хэнки 12.02.2021 09:14 # 0
vistefan 12.02.2021 11:31 # 0
JloJle4Ka 12.02.2021 14:57 # 0
Fike 12.02.2021 19:02 # 0
Fike 12.02.2021 19:45 # 0
Desktop 12.02.2021 15:02 # 0
bormand 12.02.2021 15:04 # 0
Desktop 12.02.2021 15:05 # 0
CBuHOKYP 14.02.2021 19:12 # 0
hormand 14.02.2021 23:11 # 0
Fike 12.02.2021 03:15 # 0
по феншую поднимать fcgi и к нему коннектиться нгинксом. но там заёб со всеми этими переменными.
MAKAKA 14.02.2021 23:38 # 0
hormand 14.02.2021 23:43 # 0