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?
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]
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.
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"
Why not display all events and grep for your podname:
kubectl get events --all-namespaces | grep -i $podname
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"
},
...
kubectl get events --field-selector involvedObject.name=[...]
.This answer refers to @mszalbach's.