kubectl可以描述pod事件的显示时间戳吗?

Jer*_*ewi 7 kubernetes google-kubernetes-engine

Kubectl描述吊舱输出自吊舱事件发生以来经过的时间;例如

kubectl describe pods my-pod
Run Code Online (Sandbox Code Playgroud)

输出

Events:
  FirstSeen     LastSeen        Count   From                                                        SubobjectPath                           TypeReason           Message
  ---------     --------        -----   ----                                                            -------------                           --------     ------          -------
  21s           21s             1       {default-scheduler }                                                                                    Normal               Scheduled       Successfully assigned xlxqh to gf959ad9f-cwvs
  19s           19s             1       {kubelet f959ad9f-cwvs}       spec.containers{gpu-sample-devices}     Normal               Pulling         pulling image "b.gcr.io/foo/sample:latest"
Run Code Online (Sandbox Code Playgroud)

是否可以使kubectl描述而不是输出事件的实际时间?

Ani*_*han 9

您可以使用kubectl get events。如果您尝试查看事件时间戳记,则可以请求yaml / json格式的输出。请注意,它仍然只会为您firstTimestamplastTimestamp每个事件提供服务。

例如,

kubectl获取事件-o yaml

- apiVersion: v1
  count: 1
  firstTimestamp: 2016-10-19T23:02:47Z
  involvedObject:
    kind: Node
    name: xyz
    uid: 1e8f04e8-9650-11e6-b1ec-42010af00002
  kind: Event
  lastTimestamp: 2016-10-19T23:02:47Z
  message: 'Node xyz event: Registered Node xyz
    in NodeController'
  metadata:
    creationTimestamp: 2016-10-19T23:02:47Z
    name: xyz
    namespace: default
    resourceVersion: "192"
    selfLink: /api/v1/namespaces/default/events/xyz.147f113f8a7c7a80
    uid: 26d053b6-9650-11e6-b1ec-42010af00002
  reason: RegisteredNode
  source:
    component: controllermanager
  type: Normal
Run Code Online (Sandbox Code Playgroud)

这将为Event此类原始资源提供时间戳。然后,您可以缩小感兴趣的事件的范围。


小智 9

您可以在事件对象上使用 kubectl 提供的自定义列字段选择器的组合。例子:

$ kubectl get events -o custom-columns=FirstSeen:.firstTimestamp,LastSeen:.lastTimestamp,Count:.count,From:.source.component,Type:.type,Reason:.reason,Message:.message \
                     --field-selector involvedObject.kind=Pod,involvedObject.name=my-pod
FirstSeen              LastSeen               Count   From                Type      Reason             Message
2020-01-21T16:30:25Z   2020-01-21T16:30:25Z   1       default-scheduler   Normal    Scheduled          Successfully assigned my-pod to 10.10.1.3
2020-01-21T16:30:26Z   2020-01-21T16:30:26Z   1       kubelet             Normal    Pulling            Pulling image "my-image"
2020-01-21T16:30:26Z   2020-01-21T16:30:26Z   1       kubelet             Normal    Pulled             Successfully pulled image "my-image"
2020-01-21T16:30:26Z   2020-01-21T16:30:26Z   1       kubelet             Normal    Created            Created container my-container
2020-01-21T16:30:27Z   2020-01-21T16:30:27Z   1       kubelet             Normal    Started            Started container my-container

Run Code Online (Sandbox Code Playgroud)


cha*_*ffe 0

太长;博士;kubectl不允许describe发生事件,也不提供查看每个事件发生的时间戳的方法。


kubectl不提供事件每次发生的时间戳。如果某个事件仅发生一次,它将显示自看到该事件以来经过的时间。如果出现多次,则仅显示自第一次出现以来的时间以及自最近一次出现以来的时间。

假设:我在Kubernetes 存储库中找不到表明其背后设计目标的设计问题,但我假设如下:集群内的节点可能存在于多个时区,并且您可以从完全不同的地方访问 API时区比集群。因此,显示经过的时间往往比时间戳更能表明问题发生的时间