如何使用go-client获取kubernetes中Pod的状态

set*_*abb 2 go kubernetes kubernetes-go-client

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

Ste*_*huk 7

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

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

另外,您可以使用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)
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!