Настройка балансировки трафика между несколькими сервисами Compute
May 24, 2023 at 4:41 PMПользователю необходимо заказать ещё один сервис в Compute и настроить его по примеру первого сервиса:
- установить веб-сервер;
- настроить правила Firewall.
- Установка веб-сервера
- Установите веб-сервер (в качестве примера: apache):
sudo yum install -y httpd
- Запустите веб-сервер:
sudo systemctl enable httpd —now
- Проверьте, что веб-сервер запущен:
sudo systemctl status httpd
Вывод команды (пример):
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2022-05-25 10:34:11 +03; 7s ago
Docs: man:httpd.service(8)
Main PID: 103004 (httpd)
Status: "Started, listening on: port 80"
Tasks: 213 (limit: 23512)
Memory: 26.4M
CGroup: /system.slice/httpd.service
├─103004 /usr/sbin/httpd -DFOREGROUND
├─103005 /usr/sbin/httpd -DFOREGROUND
├─103006 /usr/sbin/httpd -DFOREGROUND
├─103007 /usr/sbin/httpd -DFOREGROUND
└─103008 /usr/sbin/httpd -DFOREGROUND
May 25 10:34:11 alb-demo1.pt35.cmp.loc.icdc.io systemd[1]: Starting The Apache HTTP Server...
May 25 10:34:11 alb-demo1.pt35.cmp.loc.icdc.io systemd[1]: Started The Apache HTTP Server.
May 25 10:34:11 alb-demo1.pt35.cmp.loc.icdc.io httpd[103004]: Server configured, listening on: port 80
Вспомогательные команды для работы веб-севера:
Перезагрузка конфигурации (при изменении файлов конфигурации):
sudo systemctl reload httpd
Перезагрузка веб-сервера:
sudo systemctl restart httpd
- Проверка работы веб-сервера:
Добавить в файл
/var/www/html/index.html
любой текст, например: “Hello from alb-demo1.pt35.cmp.loc.icdc.io”
[root@alb-demo1 ~]# curl http://localhost
Hello from alb-demo1.pt35.cmp.loc.icdc.io
- Настройка системного Firewall
По умолчанию, системный Firewall блокирует весь HTTP и HTTPS трафик, который приходит извне на порты 80 и 443. Для отключения блокировки, необходимо добавить сервисы http, https в правила Firewall. Для этого необходимо выполнить команды:
sudo firewall-cmd —permanent —zone=public —add-service=http
sudo firewall-cmd —permanent —zone=public —add-service=https
Для того, чтобы правила применились, нужно перезагрузить конфигурацию firewall:
sudo firewall-cmd —reload
Проверить, что правила прописаны:
sudo firewall-cmd —list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client http https ssh
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
- Создать новый веб-маршрут alb-demo.pt35.cmp.loc.io
- В
Целевых сервисах
в поляхВес
нужно указать, в каких пропорциях будет делиться трафик между сервисами (в данном случае 1:1). Таким образом можно делить трафик между большим количеством сервисов.