3

有没有更好的方法来列出属于特定 K8s 对象的 K8s 事件?

例如,如果我想列出属于名为“podname”的 Pod 的所有事件,我会执行以下操作:

opts := metav1.ListOptions{
    TypeMeta:      metav1.TypeMeta{Kind: "Pod"},
    FieldSelector: "involvedObject.name=podname",
}
    
events, err := clientSet.CoreV1().Events(namespace).List(opts)

Go 中是否有另一种/更惯用的方法来按 kube 对象的名称进行过滤(而不是在 FieldSelector 中使用类似 json 的字符串)?

4

1 回答 1

1

不,但更好的方法是:

fieldSelector, _ := fields.ParseSelector("involvedObject.name=podname,involvedObject.kind=Pod")
opts := metav1.ListOptions{FieldSelector: fieldSelector.String()}

events, err := clientSet.CoreV1().Events(namespace).List(opts)
于 2021-04-23T22:21:48.613 回答