如何通过client-go api获取kubernetes中作业中的pod名称?

Wor*_*_Mo 1 kubernetes client-go

我通过client-go api在 kubernetes 中创建了一个工作。现在我想获取作业的日志,但在client-go中找不到作业的日志 api 。因此,我想获取一个作业中所有Pod的名称,从而通过名称获取POD日志,然后获取该作业的日志。

那么,如何通过client-go获取kubernetes中job中的pod名称呢?

非常感谢。

Wor*_*_Mo 5

我创建一个带有标签的 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{})
    }
Run Code Online (Sandbox Code Playgroud)