Kubernetes: как добавить флаги для kube-controller-manager в Google Kubernetes Engine (gke)

У меня есть развертывание в gke, связанное с горизонтальным автоматическим масштабированием подов на основе внешней метрики (подписка pubsub).

По какой-то причине автомасштабирование создает эффект пульсации (или колебания) на моих модулях, заставляя их масштабировать вверх и вниз до тех же значений каждую минуту (как показано на графике ниже).

Я обнаружил, что есть флаг для компонента kube-controller-manager, который вводит время восстановления между событиями уменьшения масштаба (--horizontal-pod-autoscaler-downscale-stabilization).

Однако я не могу получить доступ к настройкам kube-controller-manager в GKE. Есть ли способ обхода этого? А если в GKE настроить это невозможно, есть ли другой способ смягчить этот эффект?

1 ответ

Решение

Кластеры GKE полностью управляются Google, что означает, что плоскость управления (мастер (ы)) размещается в проекте клиента Google и полностью управляется платформой. Вы не можете вносить какие-либо изменения в мастер или любой из компонентов плоскости управления.

Вы не можете добавить --horizontal-pod-autoscaler-downscale-stabilization флаг на ГКЭ.

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