5

我正在尝试删除我的 kubernetes 集群中的一个 pod,然后检查它的状态以查看该 pod 需要多长时间才能关闭并再次启动。对于使用 go-client 获取特定 pod 状态的第二部分,我找不到任何有用的示例。任何帮助表示赞赏。

4

2 回答 2

12

您可以使用 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)
}

希望这可以帮助!

于 2018-12-20T21:27:14.593 回答
0

状态信息是整个 pod 的子结构,因此您可以使用普通的 getter(clientset.CoreV1() 等),然后查看.Status结构。

于 2018-12-19T19:29:27.727 回答