Как выяснить, что вызывает чрезмерную загрузку ЦП в контейнерном движке Google?

Как выяснить, что вызывает чрезмерную загрузку ЦП в контейнерном движке Google?

У меня есть кластер из одного узла в контейнерном движке, который в режиме ожидания загружает процессор примерно на 40%, как видно на панели мониторинга.

Когда я просматриваю мониторинг, все модули показывают 0% загрузки процессора.

Когда я подключаюсь к экземпляру по ssh, я вижу, что основными виновниками являются docker, kubelet и heapster, но я не понимаю, какую работу они выполняют.

Если я посмотрю в логи, то увижу строки вроде следующих, повторяющиеся снова и снова много раз в секунду. Я предполагаю, что это связано.

gke-rogue-dev-7248e467-node-9hvh 2015-10-13 19:50:55.000 time="2015-10-13T23:50:55Z" level=info msg="-job containers() = OK (0)"
gke-rogue-dev-7248e467-node-9hvh 2015-10-13 19:50:55.000 time="2015-10-13T23:50:55Z" level=info msg="+job containers()"
gke-rogue-dev-7248e467-node-9hvh 2015-10-13 19:50:55.000 time="2015-10-13T23:50:55Z" level=info msg="GET /containers/json"

Каким должен быть мой следующий шаг, чтобы выяснить, почему это происходит?

решение1

Недавно у меня возник тот же вопрос: https://serverfault.com/q/728211/310585

Ответ на вопрос «какую работу они выполняют» — «регистрация и мониторинг».

Чтобы предотвратить эти накладные расходы, вам просто нужно снять выбор с этих функций при создании кластера. В консоли разработчика есть флажки для них. В CLI добавьте опции --no-enable-cloud-logging --no-enable-cloud-monitoringк gcloud container clusters createкоманде.

Связанный контент