kubectl仅针对Pod获取事件

时间:2018-08-20 12:48:19

标签: kubernetes kubectl

当我运行kubectl -n abc-namespace describe pod my-pod-zl6m6时,最终我会获得很多有关Pod的信息以及“事件”。

是否可以使用kubectl describekubectl get命令仅输出广告连播的事件?

5 个答案:

答案 0 :(得分:23)

您可以使用event的{​​{1}}命令。

要过滤特定的广告连播,您可以使用字段选择器:

kubectl

要查看可能的字段,可以在任何事件中使用kubectl get event --namespace abc-namespace --field-selector involvedObject.name=my-pod-zl6m6

答案 1 :(得分:5)

  1. 您应该了解此对象的数据结构。您可以使用kubectl get events --output json来检查数据结构。
$ kubectl get events --output json
{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "v1",
            "count": 259,
            "eventTime": null,
            "firstTimestamp": "2020-04-15T12:00:46Z",
            "involvedObject": {                 <------ **this**
                "apiVersion": "v1",
                "fieldPath": "spec.containers{liveness}",
                "kind": "Pod",               
                "name": "liveness-exec",        <------ **this**
                "namespace": "default",
                "resourceVersion": "725991",
                "uid": "3f497636-e601-48bc-aec8-72b3edec3d95"
            },
            ...
  1. 然后执行类似kubectl get events --field-selector involvedObject.name=[...]的操作。

此答案涉及@mszalbach's

答案 2 :(得分:3)

为什么不显示您的podname的所有事件和grep:

kubectl get events --all-namespaces  | grep -i $podname

答案 3 :(得分:2)

您可以描述自己的广告连播,然后grep事件后的行数。如果要监视手表,可以添加它。

watch "kubectl describe pod my-pod-zl6m6 | grep -A20 Events"

答案 4 :(得分:-1)

如果您只想简短查看事件消息,请@mszalbach answer is the best one

但是,如果您希望所有事件及其所有元素都完整显示,则可以运行:

kubectl describe event [POD_NAME] --namespace [POD's_NAMESPACE]