如何在k8s中获得吊舱的实时资源使用情况?

时间:2019-10-14 02:10:08

标签: kubernetes

我正在设置一个服务,该服务使用k8s为每个用户启动jupyter pod。用户查询时,我需要提供jupyter pod的实时资源使用情况。我尝试了metrics-server和kubectl顶部。他们的结果来自缓存,大约有1分钟的延迟。有什么解决办法吗?

> kubectl version
  

客户端版本:version.Info {主要:“ 1”,次要:“ 14”,GitVersion:“ v1.14.0”,GitCommit:“ 641856db18352033a0d96dbc99153fa3b27298e5”,GitTreeState:“干净”,构建日期:“ 2019-03-25T15 :53:57Z“,GoVersion:” go1.12.1“,编译器:” gc“,平台:” linux / amd64“}   服务器版本:version.Info {主要:“ 1”,次要:“ 12+”,GitVersion:“ v1.12.6-aliyun.1”,GitCommit:“ 8cb561c”,GitTreeState:“”,BuildDate:“ 2019-05- 23T11:28:17Z“,GoVersion:” go1.10.8“,编译器:” gc“,平台:” linux / amd64“}

1 个答案:

答案 0 :(得分:0)

您可以查询kubelet统计数据端点:

curl --insecure https://<node url>:10250/stats/summary

您还可以使查询更加针对吊舱/容器

curl --insecure https://<node url>:10250/{namespace}/{podName}/{uid}/{containerName}

其中uid基本上是任何字符串...

您所用版本的代码部分为here

另一个提示:如果您的Pod作为主机网络的一部分运行,则您也可以查询localhost,并且需要为该帐户分配访问权限。查询如下所示:

TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
curl https://localhost:10250/stats/summary --header "Authorization: Bearer $TOKEN" --insecure