【问题标题】:Is there any way to get how much time the pod was in RUNNING state and PENDING state in kubernetes?有什么方法可以获取 pod 在 kubernetes 中处于 RUNNING 状态和 PENDING 状态的时间?
【发布时间】:2021-07-01 08:43:36
【问题描述】:

我想计算服务的服务质量。为此,我必须计算 pod 处于运行状态的时间以及自 pod 创建以来经过的总时间。有没有办法在 Go 中获取这两个值?

【问题讨论】:

  • 我们称之为简单“Go”的语言。 “Golang 语言”完全是多余的。

标签: go kubernetes google-kubernetes-engine kubernetes-pod


【解决方案1】:

您可以使用 Get 函数来获取特定的 POD 信息(以下示例是获取整个 Status 结构):

pod, _ :=clientset.CoreV1().Pods("kubernetes").Get(pod.Name, metav1.GetOptions{}) fmt.Println(pod.Status)

另外,您可以使用 List 函数获取特定命名空间中的所有 pod,然后对其进行范围:

pods, _ := clientset.CoreV1().Pods("kubernetes").List(metav1.ListOptions{FieldSelector: "metadata.name=kubernetes"}) for _, pod := range pods.Items { fmt .Println(pod.Name, pod.Status) }

【讨论】:

  • 谢谢!另外,我在哪里可以找到与 kubernetes 相关的这些命令?
  • 嗨@Dragnoid99,你已经在使用Go了。修改sn-p中的代码。然后,您可以根据需要处理 pod 事件。
猜你喜欢
  • 1970-01-01
  • 2021-04-08
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-22
  • 2021-09-15
  • 1970-01-01
相关资源
最近更新 更多