44

HAProxy, Nginx и Docker: как это сделано в Roxy-WI

Продолжаем цикл статей о возможностях Roxy-WI. Сегодня мы поговорим ещё об одном важном наборе функций, связанных с управлением сервисами (а именно ― HAproxy и Nginx) в docker-контейнерах. Мы старались сделать эту функцию максимально простой и удобной в использовании. О том, что у нас получилось, и пойдёт речь ниже.

HAProxy, Nginx и Docker: как это сделано в Roxy-WI Web, Gui, Nginx, Длиннопост

Зачем запускать сервисы в контейнере?


Контейнеризация ― это актуальный тренд на протяжении вот уже многих лет (первая версия Docker вышла в 2013 году).  Самое главное преимущество контейнеров заключается в сведении к минимуму возни с установкой и запуском. Все проблемы с зависимости снимаются раз и навсегда. В контейнере мы получаем готовое приложение, которое достаточно просто загрузить на хост и запустить. Собственно, контейнеризованное приложение не будет установлено в систему в буквальном смысле слова: оно будет запущено в изолированном окружении и может быть в любой момент убрано из системы.



Зачем управлять контейнерами через графический интерфейс?


Вопрос, вынесенный в название параграфа, может возникнуть у многих читателей: управлять Docker-контейнерами через командную строку несложно; в свободном доступе опубликованы тысячи, если не сотни тысяч, руководств и обучающих материалов. Тем не менее, за 8 лет существования Docker было создано немало решений для работы с контейнерами через веб-интерфейс.  Какие преимущества даёт веб-интерфейс?


Первое преимущество ― это наглядность. Пользователь может видеть, какие приложения работают в контейнерах и как контейнеры взаимосвязаны между собой. Это актуально, например, для больших (десятки и сотни контейнеров) инсталляций Docker.


Второе преимущество заключается в удобстве наблюдения за работой сервисов: в большинстве существующих решений для управления контейнерами через веб-интерфейс предусмотрены просмотр и визуализация статистики (потребление ресурсов, процессы).


Третье преимущество заключается в упрощении многих операций, что полезно как для начинающих, так и для опытных (особенно при работе с большими инсталляциями) пользователей. Управлять через GUI сетями, томами, образами значительно проще, чем через командную строку.


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



Как это сделано в Roxy-WI


В Roxy-WI мы стремились сделать работу с контейнерами максимально простой и удобной: по сути управление сервисом в контейнере не должно ничем отличаться от управлением тем же сервисом в неконтейнеризованном виде.


Для экземпляров сервисов, работающих в контейнерах, у нас предусмотрена визуализация: на странице HAProxy => Overview (или Nginx => Overview) они помечены значком “коробки”, то есть контейнер. Для них доступны те же функции, что и для всех обычных сервисов.


Начиная с текущей версии (5.3.0)  могут установить HAProxy и Nginx в контейнерах непосредственно через Roxy-WI. Всё очень просто: идём на страницу Servers page и нажимаем на кнопку Proxy installation.  В открывшемся окне выбираем чекбокс Install as a Docker container. После этого всё, начнётся установка.


По умолчанию контейнеры получают имена haproxy и nginx.  Если эти имена требуется изменить, нужно перейти на страницу Settings и отредактировать значения параметров haproxy_container_name и/или nginx_container_name


Для контейнеров используются пути к конфигурационным файлам, которые указаны в настройках. Именно эти пути пробрасываются в Docker. Если по тем или иным причинам требуется использовать нестандартные пути, то их нужно прописать заранее перед установкой.



Заключение


В этой статье мы кратко рассказали об особенностях работы с Docker через Roxy-WI. Чтобы усовершенствовать соответствующий набор функций, нам необходима обратная связь от актуальных и потенциальных пользователей. Приглашаем всех попробовать управлять контейнерами; любые пожелания и предложения приветствуются.


https://roxy-wi.org  - официальный сайт и документация проекта;


https://github.com/hap-wi/roxy-wi - репозиторий проекта (можно не только высказывать своё мнение, но и присылать пулл-реквесты);


https://t.me/haproxy_wi  - наш телеграм-канал; подписывайтесь и будьте в курсе всех новостей.

GNU/Linux

1.2K пост15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.