$ oc get event -n default | grep Node
鼓励集群管理员熟悉 `Event` 资源类型并查看系统事件列表,以确定哪些事件是感兴趣的。事件与命名空间关联,要么是与其相关的资源的命名空间,要么是集群事件的 `default` 命名空间。默认命名空间包含与监控或审计集群相关的相关事件,例如节点事件和与基础设施组件相关的资源事件。
主 API 和 `oc` 命令不提供参数来将事件列表的范围限定为仅与节点相关的事件。一种简单的方法是使用 `grep`
$ oc get event -n default | grep Node
1h 20h 3 origin-node-1.example.local Node Normal NodeHasDiskPressure ...
一种更灵活的方法是以其他工具可以处理的形式输出事件。例如,以下示例使用 `jq` 工具处理 JSON 输出,以仅提取 `NodeHasDiskPressure` 事件
$ oc get events -n default -o json \
| jq '.items[] | select(.involvedObject.kind == "Node" and .reason == "NodeHasDiskPressure")'
{
"apiVersion": "v1",
"count": 3,
"involvedObject": {
"kind": "Node",
"name": "origin-node-1.example.local",
"uid": "origin-node-1.example.local"
},
"kind": "Event",
"reason": "NodeHasDiskPressure",
...
}
与资源创建、修改或删除相关的事件也可以作为检测集群误用的良好候选者。例如,以下查询可用于查找过多的镜像拉取
$ oc get events --all-namespaces -o json \
| jq '[.items[] | select(.involvedObject.kind == "Pod" and .reason == "Pulling")] | length'
4
删除命名空间时,其事件也会被删除。事件也可能过期并被删除,以防止填充 etcd 存储。事件不会作为永久记录存储,需要频繁轮询才能捕获一段时间内的统计数据。 |