Можно ли через 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.