如何在kubernetes的客户端SDK中使用api.ListOptions中的watch

如何在kubernetes的客户端SDK中使用api.ListOptions中的watch,kubernetes,Kubernetes,我想看看kubernetes集群中名称空间的变化,代码如下: ... log.Infoln(“=======1=======”) 名称空间,err:=clientset.namespaces().List(api.ListOptions{Watch:true}) 如果出错!=零{ log.erroln(“从kubernetes群集获取名称空间错误:%v”,错误) } log.Infoln(“=======2=======”) 对于u,名称空间:=范围名称空间。项{ log.Println(“=

我想看看kubernetes集群中名称空间的变化,代码如下:


...
log.Infoln(“=======1=======”)
名称空间,err:=clientset.namespaces().List(api.ListOptions{Watch:true})
如果出错!=零{
log.erroln(“从kubernetes群集获取名称空间错误:%v”,错误)
}
log.Infoln(“=======2=======”)
对于u,名称空间:=范围名称空间。项{
log.Println(“==========>>名称空间:”,名称空间)
}
...

此代码将在
namespaces处阻塞,错误:=clientset.namespaces().List(api.listpoptions{Watch:true})
。但在创建新名称空间或删除名称空间时没有响应

client go
k8s.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)
}