为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
红颜莎娜 2023-05-22 15:45:23
我正在尝试删除我的 kubernetes 集群中的一个 pod,然后检查它的状态以查看 pod 关闭和重新启动需要多长时间。对于使用 go-client 获取特定 pod 状态的第二部分,我找不到任何有用的示例。任何帮助表示赞赏。
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

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

}

希望这可以帮助!


查看完整回答
反对 回复 2023-05-22
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

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



查看完整回答
反对 回复 2023-05-22
  • 2 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信