我在容器引擎中有一个单节点集群,根据监控仪表板显示,其空闲时 CPU 占用率约为 40%。
当我点击监控时,所有 pod 的 CPU 都为 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
命令中。