У меня есть кластер с одним узлом в движке контейнера, который занимает ~ 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"
Каким должен быть мой следующий шаг, чтобы выяснить, почему это происходит?
Недавно у меня был такой же вопрос: https://serverfault.com/q/728211/310585
Ответ на вопрос, «что они делают» - это «ведение журнала и мониторинг».
Чтобы избежать этих накладных расходов, вам просто нужно отменить выбор этих функций при создании кластера. В консоли разработчика для них есть флажки. В CLI добавьте параметры --no-enable-cloud-logging --no-enable-cloud-monitoring
к gcloud container clusters create
команда.