如何通过 client-go api 在 kubernetes 的工作中获取 pods 的名字?
how to get the names of pods in job in kubernetes through client-go api?
我已经通过 client-go api 在 kubernetes 中创建了一份工作。现在想获取job的log,但是在client-go中找不到job的logapi。因此,我想获取一个job中所有pods的名字来按名字获取POD日志,进而获取job的日志
那么,如何通过client-go获取kubernetes中job中的pod名称呢?
非常感谢。
我创建了一个带标签的 pod,然后通过 LabelSelector 获取它。
喜欢它:
config, err := clientcmd.BuildConfigFromFlags("", "~/.kube/config")
if err != nil {
println("config build error")
}
client, err := kubernetes.NewForConfig(config)
pods, err := client.CoreV1().Pods("test").List(context.TODO(),
v1.ListOptions{LabelSelector: "name=label_name"})
for _, v := range pods.Items {
log := client.CoreV1().Pods("test").GetLogs(v.Name, &v12.PodLogOptions{})
}
我已经通过 client-go api 在 kubernetes 中创建了一份工作。现在想获取job的log,但是在client-go中找不到job的logapi。因此,我想获取一个job中所有pods的名字来按名字获取POD日志,进而获取job的日志
那么,如何通过client-go获取kubernetes中job中的pod名称呢?
非常感谢。
我创建了一个带标签的 pod,然后通过 LabelSelector 获取它。 喜欢它:
config, err := clientcmd.BuildConfigFromFlags("", "~/.kube/config")
if err != nil {
println("config build error")
}
client, err := kubernetes.NewForConfig(config)
pods, err := client.CoreV1().Pods("test").List(context.TODO(),
v1.ListOptions{LabelSelector: "name=label_name"})
for _, v := range pods.Items {
log := client.CoreV1().Pods("test").GetLogs(v.Name, &v12.PodLogOptions{})
}