gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 11:30:00 25 4
gpt4 key购买 nike

我有一个 Kubernetes 集群,想知道我的容器使用了多少磁盘空间。我不是在谈论已安装的卷。

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

有没有办法通过 kubectl 获取容器的磁盘使用情况?或者是否有 kubelet 指标可以从中获取这些信息?

最佳答案

是的,但目前不使用 kubectl,您可以从 kubelet 获取指标,通过 kube-apiserver(代理)或直接调用 kubelet HTTP(s) 服务器端点(默认端口 10250 )。 /stats/summary 上通常提供磁盘指标。端点,您还可以找到一些cAdvisor /metrics/cavisor 上的指标端点。

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

$ 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'

Bearer token 可以是绑定(bind)到 ClusterRole 的服务帐户 token ,如下所示:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
annotations:
name: myrole
rules:
- apiGroups:
- ""
resources:
- nodes
- nodes/proxy
verbs:
- get
- list
- watch
- nonResourceURLs:
- /metrics
- /api/*
verbs:
- get

关于kubernetes - 如何在 Kubernetes 中获取容器的磁盘使用情况(没有 docker 命令)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53328104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com