第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

SharedInformerFactoryWithOptions - 無法根據(jù)標(biāo)簽進(jìn)行過濾

SharedInformerFactoryWithOptions - 無法根據(jù)標(biāo)簽進(jìn)行過濾

Go
紅糖糍粑 2022-10-10 19:04:02
我想查看某個(gè)應(yīng)用程序的 Kubernetes pod 事件。我選擇了 NewSharedInformerFactoryWithOptions。我添加了適當(dāng)?shù)臉?biāo)簽選擇器,但它沒有被過濾掉。因?yàn)槲蚁胧褂脴?biāo)簽過濾它:'app=nats-box'這是代碼 -req, err := labels.NewRequirement("app", selection.Equals, []string{"nats-box"})    if err != nil {        log.Fatalf("error %s, bad requirement", err.Error())    }selector := labels.NewSelector()selector.Add(*req)filteredFactory := informers.NewSharedInformerFactoryWithOptions(clientset, 0, informers.WithNamespace("default"), informers.WithTweakListOptions(func(options *metav1.ListOptions) {    options.LabelSelector = selector.String()}))podInformer := filteredFactory.Core().V1().Pods().Informer()podInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{    AddFunc: func(obj interface{}) {        fmt.Println("pod add")        name := obj.(*corev1.Pod).Name        labels := obj.(*corev1.Pod).Labels        fmt.Printf("pod Name: %s\nLabels - %v\n\n", name, labels)    })我得到了所有 pod 的輸出,命名空間被過濾但標(biāo)簽沒有被過濾。無法弄清楚我在哪里犯了錯(cuò)誤。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

您可以直接在中提供標(biāo)簽字符串opts.LabelSelector:


labelOptions := informers.WithTweakListOptions(func(opts *metav1.ListOptions) {

    opts.LabelSelector = "app=nats-box"

})

factory := informers.NewSharedInformerFactoryWithOptions(clientset, 0, informers.WithNamespace("default") ,labelOptions)

informer := factory.Core().V1().Pods().Informer()

stopper := make(chan struct{})

defer close(stopper)

informer.AddEventHandler(cache.ResourceEventHandlerFuncs{

    AddFunc: func(obj interface{}) {

        fmt.Println("pod add")

        name := obj.(*corev1.Pod).Name

        labels := obj.(*corev1.Pod).Labels

        fmt.Printf("pod Name: %s\nLabels - %v\n\n", name, labels)

    },

})

informer.Run(stopper)


查看完整回答
反對(duì) 回復(fù) 2022-10-10
?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果您想繼續(xù)使用k8s.io/apimachinery/pkg/labels和選擇包,您需要在調(diào)用時(shí)重新分配選擇器,selector.Add 因?yàn)樗祷匾粋€(gè)副本。


所以,更換


selector := labels.NewSelector()

selector.Add(*req)

fmt.Println(selector.String()) // empty string


selector := labels.NewSelector()

selector = selector.Add(*req)

fmt.Println(selector.String()) // app=nats-box


查看完整回答
反對(duì) 回復(fù) 2022-10-10
  • 2 回答
  • 0 關(guān)注
  • 115 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)