2017-01-09 49 views
1

我想觀看kubernetes集羣命名空間的變化,如代碼的客戶端SDK:如何與使用手錶api.ListOptions客戶去kubernetes

... 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})。但是當我創建新的命名空間時,沒有任何響應要麼刪除命名空間。

client-gok8s.io/client-go/1.5/

任何人都可以給我這個示例代碼,謝謝。

回答

0

我foud答案:

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) 
} 
相關問題