【问题标题】:How to get pod start time in millisecond in kubernetes如何在 Kubernetes 中以毫秒为单位获取 pod 启动时间
【发布时间】:2019-07-23 04:53:12
【问题描述】:

我正在尝试获取 pod 调度的性能。

当 kubectl 描述 pod 性能测试pod。我们会得到类似如下所示的东西

Type    Reason     Age   From                       Message
  ----    ------     ----  ----                       -------
  Normal  Scheduled  21s   default-scheduler          Successfully assigned default/performancetestpod to ip-172-31-22-111
  Normal  Pulled     20s   kubelet, ip-172-31-22-111  Container image "centos:7.6.1810" already present on machine
  Normal  Created    20s   kubelet, ip-172-31-22-111  Created container
  Normal  Started    20s   kubelet, ip-172-31-22-111  Started container
  Normal  Killing    10s   kubelet, ip-172-31-22-111  Killing container with id docker://performancetestpod:Need to kill Pod

1,有没有办法以毫秒为单位获取年龄。

2,是否有任何其他方法可以获取以毫秒为单位的值以用于 pod 启动,例如:通过使用 prometheus 等

【问题讨论】:

    标签: docker kubernetes


    【解决方案1】:

    根据我的经验,没有办法像您那样使用 kubectl 获得毫秒数。 回答您的第二个问题 - 仔细查看 kube-state-metrics。 根据A Deep Dive into Kubernetes Metrics文章:

    对象创建时间

    了解 Kubernetes 中对象的创建时间通常很有帮助。 Kube-state-metrics 公开了它跟踪的几乎所有对象的创建时间。指标名称遵循kube_<OBJECT>_created 模式,并将包含对象名称及其所在命名空间的值。该值是毫秒的纪元时间戳。

    比如CronJob创建系列叫kube_cronjob_created

    【讨论】:

    • 嗨,我之前尝试过 kube_metrics 和度量 kube_pod_start_info(名称不确定,类似的东西),它仅以秒为单位给出纪元时间戳。我会再检查一次
    • 我尝试使用 kube_pod_created,我收到的值为 1551693420。转换时我得到了这个值,2019 年 3 月 4 日星期一 09:57:00。我认为毫秒不存在
    • 嘿,你知道如何以毫秒为单位计算时间吗?
    • 我在 kubernetes 源代码中为 kubelet 和 kube 调度器编辑了代码,然后部署。它将根据我的要求显示毫秒时间戳
    • @JibinNajeeb 能否提供源代码,我对此感兴趣?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    相关资源
    最近更新 更多