Как настроить автоматическую балансировку нагрузки?
У меня есть несколько серверов, на которых установлен nginx с примерно таким конфигом:
http {
upstream myproject {
server host1.ru;
# server host2.ru;
server host3.ru;
# server host4.ru;
}
...
}
На каждом сервере разные закомментированные (выведенные из балансировки) хосты. В какой-то момент, стало понятно, что уже не удобно каждый раз заходить на каждый сервер, чтобы обновить конфиги. Или зайти на какие-то необходимые сервера, чтобы вывести из балансировки какие-то хосты в случае их неправильной работы или просто для тестов.
Попробовал добавить CI/CD с ансиблом. Теперь получается быстро обновить конфиги, но обновления перезатирают старые файлы и поэтому какие-то закомментированные хосты становятся раскомментированными на всех серверах сразу.
Я только начал разбираться в этой теме, но можете подсказать, что можно использовать, чтобы быстро изменять конфиги отдельно на каждом сервере? Сможет ли помочь Kubernetes, если отказаться от nginx?
Допустим, я бы мог сказать, что сервер работает неправильно, если время его ответа больше двух секунд. Значит его нужно выводить и вводить новый, если есть свободные. Также нужна возможность просто вывести какой-то из серверов, чтобы обновить ОС например. Могут ли эти критерии как-то помочь?