Как настроить автоматическую балансировку нагрузки?

У меня есть несколько серверов, на которых установлен nginx с примерно таким конфигом:

http {
  upstream myproject {
    server host1.ru;
    # server host2.ru;
    server host3.ru;    
    # server host4.ru;
  }

  ...
}

На каждом сервере разные закомментированные (выведенные из балансировки) хосты. В какой-то момент, стало понятно, что уже не удобно каждый раз заходить на каждый сервер, чтобы обновить конфиги. Или зайти на какие-то необходимые сервера, чтобы вывести из балансировки какие-то хосты в случае их неправильной работы или просто для тестов.

Попробовал добавить CI/CD с ансиблом. Теперь получается быстро обновить конфиги, но обновления перезатирают старые файлы и поэтому какие-то закомментированные хосты становятся раскомментированными на всех серверах сразу.

Я только начал разбираться в этой теме, но можете подсказать, что можно использовать, чтобы быстро изменять конфиги отдельно на каждом сервере? Сможет ли помочь Kubernetes, если отказаться от nginx?

Допустим, я бы мог сказать, что сервер работает неправильно, если время его ответа больше двух секунд. Значит его нужно выводить и вводить новый, если есть свободные. Также нужна возможность просто вывести какой-то из серверов, чтобы обновить ОС например. Могут ли эти критерии как-то помочь?


Ответы (0 шт):