Kube-controller-manager HPA подсчитывает неподготовленные поды и не учитывает их при расчете реплики

Что случилось:

HPAне масштабирует поды должным образом после обновления kubernetes 1.10.6 до 1.12.8. В приведенном ниже фрагменте, хотя показатель масштабирования превышает целевое значение, количество реплик не увеличивается.

NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
test-service-hpa Deployment/test-deploy 666m/600m 3 100 3 26d

test-deploy-5b985f9785-4znlb 1/2 Running 0 3h21m
test-deploy-5b985f9785-csld4 2/2 Running 0 10h
test-deploy-5b985f9785-tg52z 1/2 Running 0 3h18m

Это потому, что HPA не рассматривает неподготовленные капсулы в desiredReplicaрасчет. В нашем случае использования мы помечаем модули как неготовые, когда модуль обрабатывает трафик, и мы не хотим, чтобы к нему направлялся больше трафика. Я знаю термин кубернецunreadypods не очень хорошо используется в нашем сценарии использования. Но именно такое поведение нормально работало с kubernetes 1.10.6, а не с 1.12.8, хотелось бы знать, есть ли обходной путь для его исправления.

Что вы ожидали:

HPA следует учитывать unreadyстручки также при увеличении масштаба. Или нужен флаг, чтобы восстановить это поведение с 1.10.6.

Как это воспроизвести (максимально минимально и точно):

Create a simple deployment with minPod =3, maxPod=100.

Что еще нам нужно знать?:

Среда:

Kubernetes version (use kubectl version): 1.12.8
OS (e.g: cat /etc/os-release): Ubuntu "18.04 LTS (Bionic Beaver)"
Kernel (e.g. uname -a): x86_64 x86_64 GNU/Linux

0 ответов

Другие вопросы по тегам