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

问题描述

是否有更好的方法来列出属于特定 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 的字符串)?

解决方法

不,但更好的方法是:

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

events,err := clientSet.CoreV1().Events(namespace).List(opts)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...