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

问题描述 投票:0回答:2

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

> kubectl version

客户端版本:version.Info {主要:“ 1”,次要:“ 14”,GitVersion:“ v1.14.0”,GitCommit:“ 641856db18352033a0d96dbc99153fa3b27298e5”,GitTreeState:“ clean”,BuildDate:“ 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“}

kubernetes
2个回答
0
投票

Weave Scope实际上是用于实时处理的出色工具,它允许累积和存储15秒的指标迷你图,例如内存和CPU使用率。这些提供了快照,以便您可以快速了解容器的性能。

您可以轻松地从容器导航到主机,进程,图像,窗格和服务-并再次返回。

如果要查看其工作原理,请从官方站点检查katacodaintroducing


0
投票

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

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

您还可以使查询更特定于容器/容器

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

您的版本的代码部分为here

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

TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
curl https://localhost:10250/stats/summary --header "Authorization: Bearer $TOKEN" --insecure
© www.soinside.com 2019 - 2024. All rights reserved.