如何在Kubernetes中获取容器的磁盘使用情况(无docker命令)?

时间:2018-11-15 21:24:57

标签: kubernetes prometheus kubectl

我有一个Kubernetes集群,想知道我的容器使用多少磁盘空间。我说的不是挂载的卷。

我可以通过使用docker system df -vdocker ps -s之类的docker命令来获取此信息,但是我不想连接到每个工作节点。

是否有一种方法可以通过kubectl获取容器的磁盘使用率,或者有kubelet指标可以从中获取此信息?

1 个答案:

答案 0 :(得分:5)

是的,但是目前还没有使用kubectl,您可以通过kubelet通过kube-apiserver(代理)或直接调用kubelet HTTP服务器端点(默认端口{{1} }。磁盘指标通常在10250端点上可用,并且您还可以在/stats/summary端点上找到一些cAdvisor指标。

例如,要获取通过kube-apiserver返回的第一个容器中的第一个容器的“ usedBytes”:

/metrics/cavisor

不记名令牌可以是绑定到ClusterRole的服务帐户令牌,如下所示:

$ curl -k -s -H 'Authorization: Bearer <REDACTED>' \
  https://kube-apiserver:6443/api/v1/nodes/<node-name>/proxy/stats/summary \
  | jq '.pods[0].containers[0].rootfs.usedBytes'