kubectl 仅获取 pod 的事件
kubectl get events only for a pod
当我 运行 kubectl -n abc-namespace describe pod my-pod-zl6m6
时,我最终获得了很多关于 pod 的信息以及事件。
有没有办法使用 kubectl describe
或 kubectl get
命令只输出 pod 的事件?
为什么不为您的播客名称显示所有事件和 grep:
kubectl get events --all-namespaces | grep -i $podname
可以使用kubectl
的event
命令。
要过滤特定广告连播,您可以使用字段选择器:
kubectl get event --namespace abc-namespace --field-selector involvedObject.name=my-pod-zl6m6
要查看可能的字段,您可以对任何事件使用 kubectl describe
。
您可以描述您的广告连播,然后在您的活动之后查询行数。想要监控可以添加手表
watch "kubectl describe pod my-pod-zl6m6 | grep -A20 Events"
如果您只想以简短清晰的方式查看事件消息,@mszalbach 。
但是,如果您希望完整显示所有事件及其所有元素,您可以 运行:
kubectl describe event [POD_NAME] --namespace [POD's_NAMESPACE]
此答案为 的答案提供了上下文。
您应该首先了解事件对象的数据结构。您可以使用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"
},
...
那么,你可以这样做
kubectl get events --field-selector involvedObject.name=[...]`.
部署特定的所有事件
kubectl get events --field-selector involvedObject.name=$DEPLOYMENT_NAME -n $NAMESPACE
除正常以外的所有事件
get events --field-selector type!=Normal -A
有一个新的 kubectl 命令可以执行您的要求:
kubectl alpha events pod my-pod-zl6m6
(在某些时候 alpha
将被删除)。
当我 运行 kubectl -n abc-namespace describe pod my-pod-zl6m6
时,我最终获得了很多关于 pod 的信息以及事件。
有没有办法使用 kubectl describe
或 kubectl get
命令只输出 pod 的事件?
为什么不为您的播客名称显示所有事件和 grep:
kubectl get events --all-namespaces | grep -i $podname
可以使用kubectl
的event
命令。
要过滤特定广告连播,您可以使用字段选择器:
kubectl get event --namespace abc-namespace --field-selector involvedObject.name=my-pod-zl6m6
要查看可能的字段,您可以对任何事件使用 kubectl describe
。
您可以描述您的广告连播,然后在您的活动之后查询行数。想要监控可以添加手表
watch "kubectl describe pod my-pod-zl6m6 | grep -A20 Events"
如果您只想以简短清晰的方式查看事件消息,@mszalbach
但是,如果您希望完整显示所有事件及其所有元素,您可以 运行:
kubectl describe event [POD_NAME] --namespace [POD's_NAMESPACE]
此答案为
您应该首先了解事件对象的数据结构。您可以使用
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" }, ...
那么,你可以这样做
kubectl get events --field-selector involvedObject.name=[...]`.
部署特定的所有事件
kubectl get events --field-selector involvedObject.name=$DEPLOYMENT_NAME -n $NAMESPACE
除正常以外的所有事件
get events --field-selector type!=Normal -A
有一个新的 kubectl 命令可以执行您的要求:
kubectl alpha events pod my-pod-zl6m6
(在某些时候 alpha
将被删除)。