Skip to content

Настройка балансировки трафика между несколькими сервисами Compute

Пользователю необходимо заказать ещё один сервис в Compute и настроить его по примеру первого сервиса:

  • установить веб-сервер;
  • настроить правила Firewall.

Установка веб-сервера

  1. Установите веб-сервер (в качестве примера: apache):

    sudo yum install -y httpd
    
  2. Запустите веб-сервер:

    sudo systemctl enable httpd —now
    
  3. Проверьте, что веб-сервер запущен:

    sudo systemctl status httpd
    

    Command Output Example

    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”:

    Example

    [root@alb-demo1 ~]# curl http://localhost
    Hello from alb-demo1.pt35.cmp.loc.io
    

Настройка системного Firewall

  1. По умолчанию, системный 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: 
    
  2. Создать новый веб-маршрут alb-demo.pt35.cmp.loc.io

  3. В Целевых сервисах в полях Вес нужно указать, в каких пропорциях будет делиться трафик между сервисами (в данном случае 1:1). Таким образом можно делить трафик между большим количеством сервисов.