【问题标题】:How do I measure my pods startup, min and max CPU and Memory如何测量我的 pod 启动、最小和最大 CPU 和内存
【发布时间】:2021-01-19 20:40:09
【问题描述】:

我想看看我的服务将如何在 kubernetes 上运行,这样我就可以优化我的代码并为 CPU 和内存的请求/限制设置好的值。

为此,我尝试了 kubectl top bit ot 仅提供当前使用情况。

kubectl top pod podname

如何获取初始化、最小和最大使用量?

如果无法获得所有这些值,有没有办法获得最大使用量?

【问题讨论】:

  • 这可能是一个矫枉过正的解决方案,但您尝试过Lens 吗?这是一个用于 kubernetes 的 UI,使用 Prometheus 进行内置监控。
  • 是的,您应该添加 Prometheus n Grafana 以查看时间范围

标签: kubernetes kubectl azure-aks docker-desktop


【解决方案1】:

要查看统计信息,您可能需要使用以下monitoring tools 之一:

  1. cAdvisor

Container Advisor 是一款出色的监控工具,可提供 容器级指标并公开资源使用情况和性能 来自运行容器的数据。它提供了对 CPU 的快速洞察 使用情况、内存使用情况和运行的网络接收/传输 容器。 cAdvisor 嵌入到 kubelet 中,因此您可以 抓取 kubelet 以获取容器指标,将数据存储在 像 Prometheus/InfluxDB 这样的持久时间序列存储,然后 通过 Grafana 将其可视化。

  1. Metrics Server

Metrics Server 是集群范围内的资源使用数据聚合器, 收集 Kubernetes 节点的 CPU 和内存使用情况等基本指标, 豆荚和容器。 Horizo​​ntal Pod Autoscaler 和 Kubernetes 仪表板本身,用户可以访问这些指标 直接使用 kubectl top 命令。 Metrics Server 替换 Heapster 作为集群中的主要指标聚合器,具有 在较新版本的 Kubernetes 中被标记为已弃用。

  1. Node Exporter

Node Exporter 是用于硬件和操作的 Prometheus 导出器 系统指标。它允许您监控节点级别的指标,例如 CPU、内存、文件系统空间、网络流量和其他监控 指标,Prometheus 从正在运行的节点导出器中删除 实例。然后,您可以在 Grafana 中可视化这些指标。

  1. Kube-State-Metrics

Kube-state-metrics 是一个监听 Kubernetes 的附加代理 API 服务器。它生成有关 Kubernetes 状态的指标 集群内的对象,如部署、副本集、节点和 豆荚。

kube-state-metrics 生成的指标与资源不同 利用率指标,主要针对 CPU, 内存和网络使用情况。 Kube-state-metrics 公开关键指标 关于您的 Kubernetes 集群的状况:

  • 资源请求和限制
  • 对象数量——节点、pod、命名空间、服务、部署
  • 处于运行/终止/失败状态的 pod 数量
  1. Prometheus

Prometheus 是一款用于事件监控的免费软件应用程序 和警报。它在时间序列数据库中记录实时指标 使用 HTTP 拉取模型构建,具有灵活的查询和实时性 提醒

您可以使用Grafana 可视化 Prometheus 监控数据 及其dashboard collection

你可以找到详细的Monitor Your Kubernetes Cluster With Prometheus and Grafana说明如何一起使用它们

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    相关资源
    最近更新 更多