我有2个节点的集群,每个节点是GCE上2 CPU的VM
以下是VM CPU使用率指标的图表 VM CPU
这是GKE容器中CPU使用率的图表
那么2个指标之间为什么会有很大的差异?另外,为什么GKE的总CPU使用率可以高于4秒(因为我有4个核心) Cluster nodes
PS1:我发现堆栈驱动程序监视中的图表存在“错误”或某些错误。当我将图表更改为1w时,我得到了类似的内容 1w chart 如果我使用一维图表,那么它看起来像 1d chart
所以现在我只剩下一个问题,为什么GKE容器的CPU总使用率比内核数高?
答案 0 :(得分:1)
GCE将衡量VM的总体CPU使用率,其中包括正在运行的所有进程(容器,守护程序,操作系统开销等),而GKE容器度量标准仅查看特定的容器度量标准。容器是单个过程。
此外,您要查看的指标值不是利用率。利用率以百分比衡量,而不是stackdriver metrics reference page的秒数。您正在查看的图形的右侧显示秒数,但重要的值是图形左侧的秒数,应为百分比。
利用率是CPU使用率与可用CPU总数的百分比。在GCE级别上,这意味着OS V的所有进程使用的CPU与分配的总CPU(2个CPU)。对于容器,这是容器进程使用的CPU VS k8s分配的CPU。容器的总和将不会获得与VM相同的值,并且容器的CPU利用率有可能超过100%
答案 1 :(得分:0)
我发现GKE容器CPU使用率不太正确,我们应该过滤出容器名称podsgke ......和没有名称的容器,然后图表似乎与VM CPU使用率匹配。我想这些不是工作量的一部分。