我正在设置一个服务,它使用 k8s 为每个用户启动 jupyter pod。当用户查询 jupyter pod 时,我需要提供它的实时资源使用情况。我尝试了metrics-server 和 kubectl top。它们的结果来自缓存,并且有大约 1 分钟的延迟。有什么解决办法吗?
> kubectl version
Run Code Online (Sandbox Code Playgroud)
客户端版本: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{Major:"1", Minor:"12+", GitVersion:"v1. 12.6-aliyun.1", GitCommit:"8cb561c", GitTreeState:"", BuildDate:"2019-05-23T11:28:17Z", GoVersion:"go1.10.8", 编译器:"gc",平台:"linux /amd64"}
您可以查询 kubelet stats 端点:
curl --insecure https://<node url>:10250/stats/summary
Run Code Online (Sandbox Code Playgroud)
您还可以使查询更具体地针对 pod/容器
curl --insecure https://<node url>:10250/{namespace}/{podName}/{uid}/{containerName}
Run Code Online (Sandbox Code Playgroud)
uid基本上任何字符串都在哪里...
您的版本的代码部分在这里
另一个提示:如果您的 Pod 作为主机网络的一部分运行,您localhost也可以查询,并且需要分配一个有权访问它的服务帐户。查询如下所示:
TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
curl https://localhost:10250/stats/summary --header "Authorization: Bearer $TOKEN" --insecure
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |