kubernetes - 如何使用度量服务器计算 kubernetes 中特定 pod 的百分比利用率?

标签 kubernetes kubectl

我想计算 Kubernetes 中单个 pod 的 CPU 和内存资源利用率的百分比。为此,我正在使用指标服务器 API

  • 从指标服务器,我通过此命令获得利用率

  • kubectl 顶部 pods --all-namespaces
    kube-system   coredns-5644d7b6d9-9whxx                   2m           6Mi
    kube-system   coredns-5644d7b6d9-hzgjc                   2m           7Mi
    kube-system   etcd-manhattan-master                      10m          53Mi
    kube-system   kube-apiserver-manhattan-master            23m          257Mi
    

    但我想要单个 pod 的百分比利用率 CPU % 和 MEM%

    从 top 命令的这个输出中,不清楚它消耗了多少 cpu 和内存量?

    我不想使用 Prometheus 运算符,我看到了一个公式
    sum (rate (container_cpu_usage_seconds_total{image!=""}[1m])) by (pod_name)
    

    我可以用 MetricsServer 来计算吗? API?

    我想这样计算

    CPU% = ((2+2+10+23)/总 CPU MILLICORES)*100

    MEM% = ((6+7+53+257)/可分配内存)* 100

    请告诉我我是对还是错。因为我在Kubernetes文档中没有看到任何计算pod利用率的标准公式

    最佳答案

    不幸的是kubectl top pods仅提供 quantity values而不是百分比。

    Here很好地解释了如何解释这些值。

    当前无法使用 kubectl top 以百分比形式列出 pod 资源使用情况。命令。

    您仍然可以选择Grafana with Prometheus但是已经声明您不想使用它(但是,也许社区中的另一个有类似问题的成员会这样做,所以我在这里提到它)。

    编辑:

    你的公式是正确的。他们将计算所有 Pod 相对于您获得的总 CPU/Mem 消耗了多少 CPU/Mem。

    我希望它有帮助。

    关于kubernetes - 如何使用度量服务器计算 kubernetes 中特定 pod 的百分比利用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59044856/

    相关文章:

    kubernetes - 获取唯一的命名空间

    kubernetes - 如何为 Kubernetes 中服务或部署的所有 Pod 分配一个静态源 IP 地址?

    docker - 如何在 Kubernetes pod 中运行 docker 镜像?

    ssl - 带有 HTTPS Nginx 入口 Controller 的 HAProxy LoadBalancer

    kubernetes - Kubernetes通过使用作业激活数千个Pod来实现批处理性能

    kubernetes - Kubectl 连接问题

    kubernetes - 更改kubeadm的ip地址

    kubernetes - 使用全局IP白名单限制对某些Kubernetes服务的访问

    docker - Openshift OC补丁未从/docker-entrypoint-initdb.d执行initdb.sql

    kubernetes - 我该如何解决minikube hello-world?