Назад | Перейти на главную страницу

Докер: как разбить большой сервер?

Итак, у меня есть стойка Dell XS23 с 8 процессорами и 40 Гб оперативной памяти с vmware esxi в моей производственной среде. Раньше я разделял его на 2 сервера API (четырехъядерный, 8 ГБ оперативной памяти) 2 сервера БД с одинаковыми характеристиками и т. Д.

Причина в том, чтобы иметь балансировку нагрузки, а также репликацию, переключение при отказе и т. Д., Но все они работают на одном единственном устройстве.

Как видите, чем больше виртуальных машин вы добавляете, тем больше диска / процессора / оперативной памяти будет потрачено впустую на фактическую ОС, а не на приложение, поэтому Docker будет действительно выгоден в этой ситуации.

Теперь мой вопрос: следует ли мне просто создать один массивный сервер, на котором будут запущены все мои контейнеры Docker, или у меня все еще будут свои виртуальные машины и запустить в них докеры (побеждает цель вроде докеров: s) Поскольку Docker довольно новый, и я могу '' Я нахожу много документации в Интернете. Я обращаюсь к сообществу ServerFault за некоторыми идеями. Спасибо!

В виртуализации нет смысла, если для этого нет очень конкретной причины. Причина может заключаться в предоставлении root-доступа к контейнерам разным людям и так далее.

Если все находится под вашим контролем, и вам не нужно предоставлять доступ кому-либо еще, я бы не рекомендовал использовать какие-либо добродетели, поскольку они просто увеличивают использование ЦП - накладные расходы в случае эмуляции на основе контейнера невелики, но вам необходимо настроить неразборчивый режим для сетевых адаптеров, что увеличивает загрузку ЦП.

Многие приложения могут подключаться через сокеты UNIX, что было бы выгодно избежать всего TCP. Судя по размеру сервера, я думаю, вы купили / арендовали его для серьезных целей.

Беседуя с другом, я пришел к выводу, что мне действительно нужна какая-то избыточность, чтобы защитить себя от сбоя ОС. Например, если мой блок esxi отображает оперативную память / диск для одной из виртуальных машин на плохой раздел в ОС хоста.

Итак, я думаю о настройке 2-х серверов, на которых работает докер. На каждом из них будет размещаться один образ докера API и пользовательского интерфейса, и все они будут сбалансированы по нагрузке. Теперь у меня есть резервирование, а также преимущества докеров.

Я бы не стал виртуализировать его, если у вас нет веской причины. Это только добавляет сложности к вашему стеку и не дает много возможностей для фактического аварийного переключения, чего Docker еще не обеспечивает.