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,
})
我正在尝试通过 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,
})