Перейти к содержимому

Нагрузка на kube-apiserver

Ключевым компонентом Control Plane (управляющего слоя) кластера Managed Kubernetes является kube-apiserver. Он обрабатывает HTTPS-запросы к Kubernetes API и обеспечивает взаимодействие между другими компонентами Control Plane.

Для стабильной работы компонента kube-apiserver в кластерах Managed Kubernetes по умолчанию используется механизм API Priority and Fairness (APF, равноправный доступ к API). APF распределяет доступные ресурсы kube-apiserver между разными типами запросов, определяет их приоритет и предотвращает ситуацию, когда большое число запросов от одних клиентов влияет на обработку запросов от других.

Приоритизировать выполнение запросов позволяют единицы конкурентности (seats). Они отражают объем ресурсов компонента kube-apiserver, необходимых для обработки запроса. Одному запросу может быть выделена одна или несколько единиц конкурентности в зависимости от типа этого запроса.

Максимальное число доступных единиц конкурентности зависит от типа кластера Managed Kubernetes:

  • Standalone-кластер — 600 единиц.
  • High-availablility-кластер — 1800 единиц.

Отслеживать нагрузку на компонент kube-apiserver можно с помощью следующих метрик мониторинга:

Название метрикиТипОписание
mk8s_kube_api_requestsGAUGEСреднее число запросов к kube-apiserver в секунду
mk8s_apiserver_flowcontrol_current_executing_seatsGAUGEЧисло используемых единиц конкурентности
mk8s_apiserver_flowcontrol_current_inqueue_requestsGAUGEЧисло запросов в очереди на выполнение

Подробнее о том, как получить метрики.