У меня есть кластер 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 рассматриваемого узла.