如何在kubernetes上获得pod的mem和cpu使用的最大使用率

时间:2017-06-04 09:28:59

标签: kubernetes

我定义了部署资源

    resources:
      limits:
        cpu: 900m
        memory: 2500Mi

现在http://localhost:8001/api enter image description here

如何获得内存和CPU的 max 用法(以便很好地处理和定义用法和资源)?

5 个答案:

答案 0 :(得分:2)

通常,您需要为K8群集实施一些监控解决方案来存储历史指标。

如果您的Kubernetes部署在GKE上运行,您可以使用Stackdriver 为此,如果您选择Stackdriver Premium,则会在那里看到您的历史指标。如果它是您自己的Kubernetes部署,Prometheus/Grafana是一个受欢迎的选择

答案 1 :(得分:1)

默认情况下,pod以无限制的CPU和内存限制运行。这意味着系统中的任何pod都将能够消耗与执行pod的节点相同的CPU和内存。

参考: https://kubernetes.io/docs/tasks/administer-cluster/cpu-memory-limit/

答案 2 :(得分:1)

如果您在GKE上运行

今天,kubernetes控制台已经升级,您可以在控制台ui上查看所有统计信息

转到https://github.com/python/mypy/issues/5664

workloads下选择部署

https://console.cloud.google.com/kubernetes/list

答案 3 :(得分:0)

kubectl top之类的某些工具只能获取当前时间的pod的资源使用情况。您需要监视服务。

kube-state-metrics-> prometheus-> grafana-kubernetes-app是一种流行的解决方案,用于监视自行部署的k8s集群的指标。

kube-state-metrics可以生成有关k8s对象(例如节点,pod,部署)状态的度量。

  

您只需要按照指定的document跟踪指标kube_pod_container_resource_requests_cpu_coreskube_pod_container_resource_requests_memory_bytes

peometheus应该每隔几秒钟从kube-state-metrics收集指标并生成时间序列数据。

grafana-kubernetes-app轻松将它们绘制成图表。然后,您可以找到给定Pod的最大CPU使用率。

答案 4 :(得分:0)

聚会晚了一点,但是我正是出于这个目的创建了Kube Eagle:https://github.com/google-cloud-tools/kube-eagle

Kube Eagle dashboard