【问题标题】:How to list Pods based on Labels in kubernetes go-client如何在 kubernetes go-client 中根据标签列出 Pod
【发布时间】:2022-09-27 11:54:22
【问题描述】:

我试图根据标签列出 pod

    // Kubernetes client - package kubernetes
    clientset := kubernetes.NewForConfigOrDie(config)

    // create a temp list for storage 
    var podslice []string

    // Get pods -- package metav1 \"k8s.io/apimachinery/pkg/apis/meta/v1\"
    pods, _ := clientset.CoreV1().Pods(\"\").List(metav1.ListOptions{})
    for _, p := range pods.Items {
        fmt.Println(p.GetName())
    }

这相当于

kubectl get po 

有没有办法进入golang

kubectl get po -l app=foo

提前致谢

    标签: go kubernetes google-kubernetes-engine amazon-eks kubernetes-go-client


    【解决方案1】:

    您可能只能使用ListOptions 参数进行设置。

    未经测试的代码:

    import "k8s.io/apimachinery/pkg/labels"
    
    labelSelector := metav1.LabelSelector{MatchLabels: map[string]string{"app": "foo"}}
    listOptions := metav1.ListOptions{
        LabelSelector: labels.Set(labelSelector.MatchLabels).String(),
    }
    pods, _ := clientset.CoreV1().Pods("").List(listOptions)
    

    【讨论】:

      猜你喜欢
      • 2020-11-22
      • 2022-11-20
      • 2019-05-20
      • 2019-07-07
      • 2019-03-29
      • 2019-12-10
      • 2021-08-05
      • 2016-01-04
      • 2020-11-19
      相关资源
      最近更新 更多