Как развернуть HAProxy в Docker-контейнере

Kak Razvernut Haproxy V Docker Kontejnere



С помощью HAProxy вы можете развернуть его в контейнере Docker вместо того, чтобы запускать его как пакет в своей системе. Использование Docker гарантирует, что вы не будете мешать работе других пакетов, и является одним из способов создания изолированной среды для запуска HAProxy в качестве обратного прокси-сервера или для других целей. Запуск HAProxy в Docker — простая задача. В этом посте обсуждаются шаги, которые необходимо предпринять. Читай дальше!

Развертывание HAProxy в Docker-контейнере

При работе с вашими приложениями или серверами HAProxy удобен тем, что позволяет вам контролировать трафик для достижения высокой производительности и масштабируемости. Более того, Docker предоставляет вам платформу для беспрепятственного развертывания и масштабирования вашего приложения. Объединив эти два фактора, ваши потребности в масштабируемости и других развертываниях будут полностью удовлетворены.







Кроме того, технологии HAProxy создали набор образов Docker, которые вы можете использовать для развертывания HAProxy в контейнере Docker. Ниже приведены шаги, которые вам следует выполнить.



Шаг 1. Запустите Докер.



В вашей системе должен быть установлен Docker, чтобы вы могли запустить его перед развертыванием HAProxy. В зависимости от того, какой дистрибутив вы используете, убедитесь, что вы установили Docker. В этом уроке мы будем работать с Ubuntu и проверим версию Docker, чтобы убедиться, что она установлена ​​в нашей системе.






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

$ судо systemctl запустить докер




Шаг 2. Получите официальный образ Docker HAProxy

Официальный образ HAProxy Docker доступен в Docker Hub. Вы можете скачать его, вытащив его с помощью следующей команды:

$ судо докер вытащить хапрокси


Подтвердите, что HAProxy загружен, проверив доступные образы Docker.

$ судо докер изображения


Шаг 3. Создайте сеть Docker

Поскольку мы будем использовать веб-приложения, которые хотим связать с HAProxy, потребуется мостовая сеть. Кроме того, создание сети также помогает разделить контейнеры, чтобы каждый использовал свой собственный.

Чтобы создать мостовую сеть, используйте следующий синтаксис:

$ судо сеть докеров создать имя_сети


Быстро убедитесь, что сеть создана, перечислив доступные сети в контейнере Docker.

$ судо сеть докеров лс


У нас создана сеть «network1a», и она отображается в следующем выводе:


Шаг 4. Создайте серверные веб-приложения

Мы создаем два веб-экземпляра для использования с нашим балансировщиком нагрузки для демонстрации. В Docker есть разные экземпляры, которые вы можете использовать. В данном случае мы используем образ Nginx для создания веб-приложений.

$ судо запуск докера --имя < имя веб-приложения > --сеть < имя сети > nginx


Создайте другой экземпляр.


Теперь у нас есть два экземпляра веб-приложения в нашем Docker. Убедитесь в этом, выполнив команду «docker ps».


Шаг 5. Создайте файл конфигурации

Вам необходимо создать файл конфигурации HAProxy, который вы будете использовать с вашим Docker. Выберите, где сохранить файл конфигурации. Затем откройте его с помощью текстового редактора. В этом случае мы используем nano, и наш файл конфигурации хранится в «/opt/haproxy/haproxy.cfg».


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


Опять же, мы используем порт 80 для внешних подключений и порт 8404 для прослушивателей.


Убедитесь, что вы добавили правильное имя для своего веб-приложения в раздел серверной части файла конфигурации. Вы также можете использовать IP-адреса своих веб-приложений вместо их имен хостов. Наконец, сохраните и выйдите из файла. Затем вы можете перезапустить HAProxy.


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

Шаг 6. Разверните HAProxy

Теперь мы должны создать контейнер HAProxy, запустить его и сопоставить его порт с тем, который мы включили в файл конфигурации. Мы назовем наш контейнер «haproxycontainer2» и сопоставим порты 80 и 8404 хоста с портами в контейнере Docker.


Благодаря этому вам удалось развернуть HAProxy в контейнере Docker. Теперь вы можете получить доступ к своим веб-приложениям/серверам. Любой трафик, направляемый к ним, будет распределяться с помощью HAProxy, чтобы обеспечить балансировку нагрузки.

Заключение

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