我有一个短暂的(从几秒钟到1-2分钟)k8s作业将根据用户请求创建的情况。我正在尝试检索作业运行时指标(如cpu和内存使用情况)。

我想到(并尝试过)的方法包括:

  • Prometheus查询,与container_cpu_usage_seconds_total一样,但是基于拉式的scape意味着许多短命的工作将不包括在内
  • Pushgateway,但是正如普罗米修斯所建议的,...valid use case for the Pushgateway is for capturing the outcome of a service-level batch job,所以我怀疑这不是合适的情况。
  • 公制服务器,但公制服务器仅在短暂的作业容器上返回404,导致结果比普罗米修斯差。
  • 直接查询/api/v1/nodes/{nodeName}/proxy/metrics/cadvisor。尽管几乎是实时的,但它会返回所有容器,因此我必须手动分析结果并找到所需的内容。

  • 我正在考虑使用作业 worker 容器旁边的轻型监视器容器来检索 worker 的指标。但是我不知道这是否是一个好主意,即使这样,也不知道如何检索 worker 的指标。

    所以我的问题是:

    您建议使用哪种方法来检索大量短期作业的cpu和内存使用情况?

    最佳答案

    在编写时,您使用了普罗米修斯,pushgateway,metrics-server ns查询/ api / v1 / nodes / {nodeName} / proxy / metrics / cadvisor,如果它们不能满足您的要求,那么我建议您使用新的方法来监视和保存集群的度量表现是石蕊。

    Prometheus是最常见,最复杂的工具,大多数工程师都可以使用,但是Litmus是一种新工具,专注于工作负载测试,可以保存指标并可以随时存储它们。

    您可以在这里找到更多信息:litmus

    有用的文章:litmus-openebs,它描述的不仅是获取内存使用率,也不是获取指标。

    然后,您可以在鸡蛋中生成图表。 gnuplot。

    关于kubernetes - 如何获得一堆短暂的Kubernetes职位的指标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57109777/

    10-15 22:16