我正在尝试编写行为类似于 kubectl get pods --watch. 这样,每当 pod 的状态发生变化时,我都会被触发。
我创建了一个go项目(在集群中运行)并添加了以下代码:
podsWatcher, err := restAPIClient.CoreV1().Pods("").Watch(globalHTTPContext, metav1.ListOptions{Watch: true})
if err != nil {
// do something
}
podsChan := podsWatcher.ResultChan()
for event := range podsChan {
switch event.Type {
case watch.Added:
// do something
case watch.Modified:
// do something
case watch.Deleted:
// do something
case watch.Bookmark:
// do something
case watch.Error:
// do something
}
}
每次对 pod 进行重大更改时,我都会收到一个事件,但不是针对所有事件。(事件)。
如何触发 Pod 状态中发生的每一个变化(如--watch标志)?
慕码人2483693
相关分类