`kubectl get events`
NAMESPACE=test
kubectl create namespace ${NAMESPACE}
kubectl create deployment kuard \
--image=gcr.io/kuar-demo/kuard-amd64:blue \
--port=8080 \
--namespace=${NAMESPACE}
Typically, I’d then use kubectl describe pod to check the Events section for any issues:
kubectl describe pod \
--selector=app=kuard \
--namespace=test
But, from the Pod’s name (without the pod/ prefix), you can:
NAME=$(\
kubectl get pod \
--selector=app=kuard \
--namespace=test \
--output=name) && \
NAME=${NAME#pod/} && \
echo ${NAME}
kubectl get events \
--field-selector=involvedObject.name=${NAME} \
--namespace=${NAMESPACE} \
--output=jsonpath='{range .items[*]}{.message}{"\n"}{end}'
NOTE
range‘ing over the items permits adding newlines (\n) after each entry. Using{.items[*].message}yields a less manageable result.
Which yields:
Successfully assigned test/kuard-6b4d4d4f65-tjc4p to gke-ackal-system-default-pool-c9861a01-97h1
Container image "gcr.io/kuar-demo/kuard-amd64:blue" already present on machine
Created container kuard-amd64
Started container kuard-amd64
When you’re done:
kubectl delete namespace ${NAMESPACE}