kube-apiserver высокая загрузка процессора и запросов

У нас есть кластеры Kubernetes 1.7.8, развернутые с Kops 1.7 в HA с тремя мастерами. Кластер имеет 10 узлов и около 400 модулей.

Кластер имеет кучи, прометей и ELK (сбор журналов для некоторых стручков).

Мы наблюдаем очень высокую активность мастеров, более 90% процессорного времени используется api-сервером.

Проверяя числа прометеев, мы видим, что около 5000 запросов к kube-apiserver являются глаголами WATCH, остальные менее 50 запросов (GET, LIST, PATCH, PUT).

Почти все запросы передаются с помощью клиента "Go-Http-client/2.0" (пользовательский агент по умолчанию для библиотеки Go HTTP).

Это нормальная ситуация?

Как мы можем отлаживать, какие модули отправляют эти запросы? (Как мы можем добавить исходный IP в логи kube-apiserver?)

[Kube-apiserver.manifest][1]

Спасибо чарльз

[1]: https://pastebin.com/nGxSXuZb

1 ответ

Что касается архитектуры Kubernetes, это нормальное поведение, потому что все компоненты кластера kubernetes вызывают api-сервер для отслеживания изменений.

Вот почему у вас есть более 5000 записей в журналах. Пожалуйста, посмотрите, как кластер kubernetes управляется сервером API Kube и как организована связь с главным узлом.

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