我試圖根據標簽列出 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
提前致謝
uj5u.com熱心網友回復:
您可能只能使用ListOptions引數進行設定。
listOptions := metav1.ListOptions{
LabelSelector: "app=foo",
}
pods, _ := clientset.CoreV1().Pods("").List(listOptions)
如果您有多個標簽,則可以通過labels庫執行此操作,如下面的未經測驗的代碼:
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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/509965.html
標籤:Google Cloud Collective 去Kubernetes谷歌 Kubernetes 引擎亚马逊-ekskub
上一篇:如何授予我的Kubernetes集群從gcr.io提取影像的權限?
下一篇:我的要求是,如果values.yaml中的配置映射包含值DOMAIN_NAME那么我想用{.Values.global.domainName}替換它
