kubernetes中Docker容器的Docker统计信息返回空值

Suj*_*amy 6 monitoring docker kubernetes

我正在尝试通过docker stats命令获取在kubernetes节点内运行的容器的统计信息。但是不幸的是,我将所有pod容器的所有值都设为“ 0”。

CONTAINER     CPU %   MEM USAGE / LIMIT   MEM %   NET I/O     BLOCK I/O   PIDS
7dc5af9923b2  0.00%         0 B / 0 B     0.00%   0 B / 0 B   0 B / 0 B    0
Run Code Online (Sandbox Code Playgroud)

我对在同一节点中通过docker run命令手动启动的容器执行了相同的操作,并且我获得了这些容器的正确值。

CONTAINER     CPU %    MEM USAGE / LIMIT     MEM %    NET I/O       BLOCK I/O       PIDS
8be93c039a25  0.12%   133.3 MB / 3.892 GB    3.43%   0 B / 648 B  2.208 MB / 0 B     0
Run Code Online (Sandbox Code Playgroud)

除此以外,是否有任何其他特定方法来获取Pod容器的统计信息?

注意:docker版本是1.11.2,而kube版本是1.3.7

Suj*_*amy 3

我解决了这个问题。我使用 kubelet API 来获取节点和单个容器的指标。以下 API 将返回 pod 容器的指标。

http://<nodeIP>:10255/stats/<podName>/<containerName> - POST
Run Code Online (Sandbox Code Playgroud)

评论中建议的这篇文章非常有帮助。

文档还有一些用于收集指标的 API。