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