Golang/Kubernetes:如何get/describe节点事件

Golang/Kubernetes: How to get/describe Node events

我正在尝试通过 Golang Kubernetes 客户端获取特定节点事件。

类似于我们在 运行 kubectl describe node <node-name> 事件的低端部分时得到的事件。

我能够获取 pod 事件,但不确定如何对节点执行相同的操作。

events, _ := coreClient.CoreV1().Events("spark").List(context.TODO(), metav1.ListOptions{FieldSelector: "involvedObject.name=spark-t2f59", TypeMeta: metav1.TypeMeta{Kind: "Pod"}})

更新:

我不确定使用 .Get 是否可以解决这个问题?我不确定以下语法中需要什么字符串?

events, err := coreClient.CoreV1().Events(namespace).Get(context.TODO(), STRING-HERE, metav1.GetOptions{})

您应该能够像获取 Pod 一样获取节点的事件,只需替换查询中的“Kind”选项即可:

    namespace := "my-namespace"
    nodeName := "my-node-71544c18-8wn3"

    events, err := clientset.CoreV1().Events(namespace).List(context.TODO(), metav1.ListOptions{
        TypeMeta: metav1.TypeMeta{
            Kind: "Node",
        },
        FieldSelector: "involvedObject.name=" + nodeName,
    })