【发布时间】:2021-07-01 08:43:36
【问题描述】:
我想计算服务的服务质量。为此,我必须计算 pod 处于运行状态的时间以及自 pod 创建以来经过的总时间。有没有办法在 Go 中获取这两个值?
【问题讨论】:
-
我们称之为简单“Go”的语言。 “Golang 语言”完全是多余的。
标签: go kubernetes google-kubernetes-engine kubernetes-pod
我想计算服务的服务质量。为此,我必须计算 pod 处于运行状态的时间以及自 pod 创建以来经过的总时间。有没有办法在 Go 中获取这两个值?
【问题讨论】:
标签: go kubernetes google-kubernetes-engine kubernetes-pod
您可以使用 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) }
【讨论】: