Модули масштабирования Kubernetes по количеству активных подключений - PullRequest
0 голосов
/ 29 мая 2020

У меня есть кластер kubernetes, в котором работают некоторые устаревшие контейнеры (windows контейнеры). Для упрощения предположим, что контейнер может обрабатывать максимум 5 запросов за раз, что-то вроде

handleRequest(){
   requestLock(semaphore_Of_5)
   sleep(2s)
   return "result"
}

Таким образом, процессор не загружается. Мне нужно масштабировать на основе количества активных подключений

Я вижу из документации https://kubernetes.io/docs/concepts/services-networking/service/#proxy -mode-iptables

You can use Pod readiness probes to verify that backend Pods are working OK, so that kube-proxy in iptables mode only sees backends that test out as healthy. Doing this means you avoid having traffic sent via kube-proxy to a Pod that’s known to have failed.

Итак, есть механизм для сделать модули доступными для маршрутизации новых запросов, но именно livenessProbe фактически помечает модуль как неработоспособный и подлежит политике перезапуска. Но мои капсулы просто заняты. Их не нужно перезапускать.

Как в этом случае увеличить количество подов?

1 Ответ

1 голос
/ 29 мая 2020

Вы можете включить HPA для развертывания.

Вы можете автоматически масштабировать метрики количества запросов и выполнять автоматическое масштабирование по этой метрике c.

https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling -on -metrics-not-related-to-kubernetes-objects

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

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure -зонды

...