kubectl get events only for a pod

8/20/2018

When I run kubectl -n abc-namespace describe pod my-pod-zl6m6, I get a lot of information about the pod along with the Events in the end.

Is there a way to output just the Events of the pod either using kubectl describe or kubectl get commands?

-- Rakesh N
kubectl
kubernetes

5 Answers

4/8/2020

If you only want the Event Messages in a short and clear view, @mszalbach answer is the best one.

But if you want all Events with all their elements to be completely displayed you can run:

kubectl describe event [POD_NAME] --namespace [POD's_NAMESPACE]
-- froblesmartin
Source: StackOverflow

8/20/2018

You can use the event command of kubectl.

To filter for a specific pod you can use a field-selector:

kubectl get event --namespace abc-namespace --field-selector involvedObject.name=my-pod-zl6m6

To see what fields are possible you can use kubectl describe on any event.

-- mszalbach
Source: StackOverflow

12/3/2018

You can describe you pod and then grep the number of lines after your Events. You can add a watch if you want to monitor it.

watch "kubectl describe pod my-pod-zl6m6 | grep -A20 Events"
-- Chandan Agarwal
Source: StackOverflow

8/20/2018

Why not display all events and grep for your podname:

kubectl get events --all-namespaces  | grep -i $podname
-- OneK
Source: StackOverflow

4/15/2020
  1. You should understand the data structure of this object. You can use kubectl get events --output json to check the data structure.
$ 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. And then do something like kubectl get events --field-selector involvedObject.name=[...].

This answer refers to @mszalbach's.

-- kyakya
Source: StackOverflow