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

标签 go kubernetes client-go

有没有更好的方法来列出属于特定 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)

关于go - 有没有更好的方法来列出属于特定 K8s 对象的 K8s 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65726825/

相关文章:

go - Golang的draw2d包中填充一个像素

arrays - 在 Golang 中将指针传递给字符串数组

go - unstructured.UnstructuredList 导致大量 reflect.go 跟踪

kubernetes - 如何使用 kustomize 修补 json 文件中的 configmap?

azure - AKS 添加新池

kubernetes - 如何使用Client-Go获取有关节点创建的AWS metdata

go - 如何惯用地用 Kubernetes API 对象的默认值填充空字段?

sql-server - 适用于 Windows7 64 位的 Golang MSSQL 驱动程序

eclipse - 如何在 GoClipse 中交叉引用?

nginx - 在 nginx 图表中的 http-snippet 下定义 map 时出现语法错误