Kubernetes Horizontal Pod Autoscaler не использует ресурсы узла - PullRequest
0 голосов
/ 28 апреля 2018

В настоящее время я работаю с Kubernetes 1.9.7 и успешно использую Cluster Autoscaler и несколько Horizontal Pod Autoscalers .

Однако я недавно начал замечать, что HPA будет отдавать предпочтение новым пакетам при уменьшении количества реплик.

Например, у меня есть 1 реплика службы A, работающая на узле вместе с несколькими другими службами. Этот узел имеет много доступных ресурсов. Во время загрузки целевое использование ЦП для службы A превысило настроенный порог, поэтому HPA решил масштабировать его до 2-х реплик. Поскольку не было других доступных узлов, CAS охватывает новый узел, на котором была успешно запланирована новая реплика - пока все хорошо!

Проблема в том, что, когда целевое использование ЦП падает ниже настроенного порога, HPA решает уменьшить масштаб до 1 реплики. Я ожидал, что новая реплика на новом узле будет удалена, что позволит CAS отключить этот новый узел. Однако HPA удалил существующую реплику службы A, которая работала на узле с большим количеством доступных ресурсов. Это означает, что теперь у меня есть служба A, работающая на новом узле, которая сама по себе не может быть удалена CAS, даже если на существующем узле достаточно места для планирования службы A.

Это проблема с HPA или планировщиком Kubernetes? Служба A теперь работает на новом узле в течение 48 часов и все еще не перенесена, несмотря на то, что на существующем узле ресурсов более чем достаточно.

1 Ответ

0 голосов
/ 29 апреля 2018

После изучения конфигурации моего кластера мне удалось прийти к выводу, почему это происходит.

Служба A была настроена для работы в общедоступной подсети, и новый узел, созданный ЦС, был общедоступным. Существующий узел, на котором выполнялась исходная реплика службы A, был закрытым, поэтому HPA удалила эту реплику.

Я не уверен, как служба А была запланирована на этом узле, но это другая проблема.

...