gpt4 book ai didi

kubernetes - 如何在带有客户端的api.ListOptions中使用 watch -转到kubernetes的客户端SDK

转载 作者:行者123 更新时间:2023-12-02 11:49:37 24 4
gpt4 key购买 nike

我想用以下代码观看kubernetes集群中 namespace 的变化:

...
log.Infoln("====== 1 ======= ")
namespaces, err := clientset.Namespaces().List(api.ListOptions{Watch: true})
if err != nil {
log.Errorln("Get namespaces from kubernetes cluster error:%v", err)
}
log.Infoln("====== 2 ======= ")
for _, namespace := range namespaces.Items {
log.Println("=======>> namespaces: ", namespace)
}
...

此代码将在namespaces, err := clientset.Namespaces().List(api.ListOptions{Watch: true})处阻止。但是,当我创建新的 namespace 或删除 namespace 时,没有任何响应。
client-gok8s.io/client-go/1.5/
任何人都可以给我示例代码,谢谢。

最佳答案

我找到了答案:

var watch watch.Interface
if watch, err = clientset.Namespaces().Watch(api.ListOptions{Watch: true}); err != nil {
log.Errorln("Watch namespaces from kubernetes cluster error:%v", err)
return
}

eventChan := watch.ResultChan()
for event := range eventChan {
log.Infoln(event)
}

关于kubernetes - 如何在带有客户端的api.ListOptions中使用 watch -转到kubernetes的客户端SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41543799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com