![如何找出导致 Google 容器引擎 CPU 使用率过高的原因?](https://linux22.com/image/668746/%E5%A6%82%E4%BD%95%E6%89%BE%E5%87%BA%E5%AF%BC%E8%87%B4%20Google%20%E5%AE%B9%E5%99%A8%E5%BC%95%E6%93%8E%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E8%BF%87%E9%AB%98%E7%9A%84%E5%8E%9F%E5%9B%A0%EF%BC%9F.png)
我在容器引擎中有一个单节点集群,根据监控仪表板显示,其空闲时 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
命令中。