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

Может ли Kubernetes определять приоритеты узлов при масштабировании?

У меня есть кластер Kubernetes на AWS, настроенный с помощью KubeAWS. Мы используем некоторые конфиденциальные сторонние интеграции, для которых требуются IP-адреса из белого списка в их брандмауэре.

Что я сделал, так это то, что я зарегистрировал IP-адреса узлов во внешних службах и добавил метку узла (whitelisted-ip=true) к этим узлам. Сервисы, которым необходимо связаться с этими сторонними поставщиками, затем устанавливают этот параметр как nodeSelector. Все идет нормально.

Проблема, с которой я сталкиваюсь, - это когда кластер начинает масштабироваться, в частности, когда он уменьшается. Кластеру, похоже, все равно, какой узел он удаляет, поэтому, если у меня есть два узла в одной зоне доступности, он может также удалить тот, который имеет IP-адрес из белого списка, который затем освобождается.

Могу ли я указать своему кластеру при уменьшении масштаба сначала удалить узлы, у которых нет метки узла whitelisted-ip=true?

Спасибо!

Я вижу, что никогда не делилась ответом на этот вопрос.

Согласно эта почта, есть аннотация для решения этой проблемы:

$ kubectl annotate node <nodename> cluster-autoscaler.kubernetes.io/scale-down-disabled=true

Это предотвратит масштабирование Kubernetes рассматриваемого узла.