Назад | Перейти на главную страницу

Удалить сервер из пула NGINX Plus

Можно ли через REST API или что-то еще, чтобы удалить сервер приложений из пула Loadbalancer / NGINX?

У нас возникла проблема при развертывании, и мы хотели бы удалить серверы приложений один за другим и развернуть там изменения. Мы могли получить доступ к NGINX Plus, но я ничего не нашел на их веб-сайте.

Есть способ сделать это без root-прав на сервере:

https://www.nginx.com/blog/dynamic-reconfiguration-with-nginx-plus/

http://localhost:8080/upstream_conf?remove=&upstream=backend&id=2

Со следующими изменениями конфигурации:

location /upstream_conf {
        upstream_conf;      allow 10.0.0.0/8; # Allow access only from LAN
        deny all;         # Deny everyone else

    }


upstream backend {
    zone backend 64k;
    server 10.2.2.90:8000;
    server 10.2.2.91:8000;
    server 10.2.2.92:8000; }

Веб-интерфейс NGINX Plus (см. демо), похоже, только для мониторинга живой активности.

NGINX Plus расширяет возможности обратного прокси-сервера программного обеспечения NGINX с открытым исходным кодом с дополнительным методом балансировки нагрузки приложений, улучшениями для многоядерных серверов и такими функциями, как постоянство сеанса, проверки работоспособности, мониторинг активности и изменение конфигурации балансировки нагрузки на лету группы серверов.

В Конфигурация NGINX Plus выполняется через файлы конфигурации, как и в NGINX с открытым исходным кодом.

NGINX Plus похож на другие службы тем, что у него есть текстовый файл конфигурации, написанный в определенном формате. По умолчанию файл называется nginx.conf и помещен в /etc/nginx каталог. (Для продукта NGINX с открытым исходным кодом местоположение зависит от системы пакетов, используемой для установки NGINX и операционной системы. Обычно это одна из /usr/local/nginx/conf, /etc/nginx, или /usr/local/etc/nginx.)

В Балансировка нагрузки Nginx В статье описывается, как использовать NGINX и NGINX Plus в качестве балансировщика нагрузки. Короче говоря, в конфигурационном файле Nginx есть такой раздел:

http {
    upstream backend {
        server backend1.example.com weight=5;
        server backend2.example.com;
        server 192.0.0.1 backup;
    }
}

Просто закомментируйте внутренние серверы, которые вы хотите отключить, и перезапустите NGINX Plus.