Кластер Оплёта — различия между версиями

Материал из Брацка Правки
Перейти к: навигация, поиск
(Новая страница: «Управление пользователями осуществляется сейчас с дроплета (VPS) на DigitalOcean (DO). Друг…»)
 
Строка 1: Строка 1:
Управление пользователями осуществляется сейчас с дроплета ([[VPS]]) на [[DigitalOcean]] ([[DO]]). Другой дроплет поддерживает тестировку, но практически не используется. Надо переделать это решение на кластер. Сам [[DO]] предлагает [[load balancer]] и [[floating IP address]] -- эти решения требуют рассмотрения.
+
[[Кластер Оплёта]] -- это связка ресурсов [[Брацко Облако|Брацка Облака]], обеспечивающая отказоустойчивость [[Оплёт]]а.
 +
 
 +
==Положение дел==
 +
 
 +
===Инфраструктура===
 +
:По состоянию на сентябрь 2021, управление пользователями осуществляется с дроплета ([[VPS]]) в Нью-Йоркском вычислительном центре [[DigitalOcean]] ([[DO]]). Другой дроплет во Франции поддерживает тестировку, но практически не используется.
 +
 
 +
===Задача===
 +
:Предполагается переделать структуру на кластер. Сам [[DO]] предлагает [[load balancer]] и [[floating IP address]], но эти решения вроде требовали, чтобы дроплеты были расположены в едином вычислительном центре, что не планируется. Скорее всего, решение должно быть построено на основе [[HAProxy]].
 +
 
 +
===Наработки===
 +
:Эксперементы проводились на [[Опытно Облако|Опытне Облаке]]. [[HAProxy]] работает прекрасно.  Проблема настройки [[HAProxy]] упирается в проблему настройки самого приложения. По умолчанию любое приложение слушает сервер, на котором само находится, то есть localhost. При отключении одного сервера, мы подсоединяемся к друому и т.д.
 +
 
 +
:При более подробной настройке самого приложения, в частности, [[Опытна Правка|Опытной Правки]], оказалось, что оно тоже работает, но очень медленно. Время загрузки страницы примерно 118 с. Начав эксперементировать с этой проблемой, был прямо указан на нужный сервер, и приложение заработало отлично. Так что, похоже, дело в [[HAProxy]].
 +
 
 +
:В связи  с этой темой были настроены iptables:
 +
*<code>iptables -A INPUT -p tcp --dport 22 -j ACCEPT</code>
 +
*<code>iptables -A INPUT -i lo -j ACCEPT -m comment --comment  "трафик LOOPBACK"</code>
 +
*<code>iptables -A INPUT -m multiport -p tcp --dport 80,443 -m comment --comment  "web ports" -j ACCEPT</code>
 +
*<code>iptables -A INPUT -m state --state ESTABLISHED,RELATED  -m comment --comment  "ответы из мира на наши запросы" -j ACCEPT</code>
 +
 
 +
:На [[MariaDB Galera]]:
 +
*<code>iptables -A INPUT -m multiport -p tcp --dport 3306,4567,4568,4444 -m comment --comment  "порты, требующиеся для связи между узлами" -j ACCEPT</code>
 +
*<code>iptables -A INPUT -p udp --dport 4567 -j ACCEPT -m comment --comment "тоже Galera"</code>

Версия 03:35, 22 сентября 2021

Кластер Оплёта -- это связка ресурсов Брацка Облака, обеспечивающая отказоустойчивость Оплёта.

Положение дел

Инфраструктура

По состоянию на сентябрь 2021, управление пользователями осуществляется с дроплета (VPS) в Нью-Йоркском вычислительном центре DigitalOcean (DO). Другой дроплет во Франции поддерживает тестировку, но практически не используется.

Задача

Предполагается переделать структуру на кластер. Сам DO предлагает load balancer и floating IP address, но эти решения вроде требовали, чтобы дроплеты были расположены в едином вычислительном центре, что не планируется. Скорее всего, решение должно быть построено на основе HAProxy.

Наработки

Эксперементы проводились на Опытне Облаке. HAProxy работает прекрасно. Проблема настройки HAProxy упирается в проблему настройки самого приложения. По умолчанию любое приложение слушает сервер, на котором само находится, то есть localhost. При отключении одного сервера, мы подсоединяемся к друому и т.д.
При более подробной настройке самого приложения, в частности, Опытной Правки, оказалось, что оно тоже работает, но очень медленно. Время загрузки страницы примерно 118 с. Начав эксперементировать с этой проблемой, был прямо указан на нужный сервер, и приложение заработало отлично. Так что, похоже, дело в HAProxy.
В связи с этой темой были настроены iptables:
  • iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • iptables -A INPUT -i lo -j ACCEPT -m comment --comment "трафик LOOPBACK"
  • iptables -A INPUT -m multiport -p tcp --dport 80,443 -m comment --comment "web ports" -j ACCEPT
  • iptables -A INPUT -m state --state ESTABLISHED,RELATED -m comment --comment "ответы из мира на наши запросы" -j ACCEPT
На MariaDB Galera:
  • iptables -A INPUT -m multiport -p tcp --dport 3306,4567,4568,4444 -m comment --comment "порты, требующиеся для связи между узлами" -j ACCEPT
  • iptables -A INPUT -p udp --dport 4567 -j ACCEPT -m comment --comment "тоже Galera"