Aрхитектура высокодоступного кластера ELMA365 подразумевает взаимодействие микросервисов приложения ELMA365 в рамках отказоустойчивого кластера. Для равномерной балансировки трафика между серверами кластера Kubernetes установите конфигурацию HAProxy. В случае сбоя это обеспечит стабильную работу системы.
Пример конфигурации HAProxy для web ELMA365
В этой статье представлена конфигурация HAProxy, с помощью которой равномерно происходит балансировка клиентских подключений, приходящих на elma365.your_domain, между серверами Kubernetes-кластера.
Чтобы создать конфигурацию HAProxy для web ELMA365 выполните следующие действия:
Откройте для редактирования конфигурационный файл haproxy.cfg с помощью команды:
sudo nano /etc/haproxy/haproxy.cfg
Внесите изменения в конфигурационный файл haproxy.cfg:
### Web ELMA365 ### listen elma365_web bind haproxy-server.your_domain:80 mode http balance leastconn no option http-use-htx # http-use-htx is deprecated and ignored since Haproxy 2.1 option forwardfor option httpclose server elma365-1 elma365-1.your_domain:80 check server elma365-2 elma365-2.your_domain:80 check server elma365-3 elma365-3.your_domain:80 check ### Web ELMA365 ###
Включение SSL возможно, если встроена поддержка OpenSSL. В параметре crt укажите путь до файла PEM, содержащего требуемые сертификаты и связанные закрытые ключи (fullchain-сертификат). Eсли файл не содержит закрытого ключа, HAProxy попытается загрузить ключ по тому же пути с суффиксом .key.
Если вместо PEM-файла используется имя каталога, то все файлы, найденные в этом каталоге, будут загружены в алфавитном порядке, кроме файлов, заканчивающихся на .issuer, .ocsp и .sctl (зарезервированные решения).
В параметре ca-file укажите путь до файла PEM, содержащего корневой сертификат. Подробнее читайте в Configuration Manual для используемой версии HAProxy. Пример для HAProxy 2.5:
### Web ELMA365 ### listenelma365_web bindelma365.your_domain:443sslcrt/etc/haproxy/ssl/elma365-server.your_domain.pem modehttp balanceleastconn no option http-use-htx # http-use-htx is deprecated and ignored since Haproxy 2.1 option forwardfor option httpclose serverelma365-1elma365-1.your_domain:443checkinter2ssslcrt/etc/haproxy/ssl/elma365-server.your_domain.pemca-file/etc/haproxy/ssl/rootCA_your_domain.pem serverelma365-2elma365-2.your_domain:443checkinter2ssslcrt/etc/haproxy/ssl/elma365-server.your_domain.pemca-file/etc/haproxy/ssl/rootCA_your_domain.pem serverelma365-3elma365-3.your_domain:443checkinter2ssslcrt/etc/haproxy/ssl/elma365-server.your_domain.pemca-file/etc/haproxy/ssl/rootCA_your_domain.pem ### Web ELMA365 ###