如何在kubernetes的客户端SDK中使用api.ListOptions中的watch
我想看看kubernetes集群中名称空间的变化,代码如下:如何在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(“=
...
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)
}