0%

【Kubernetes】Scheduler Events

问题现象

  1. 第一次创建 kubernetes 集群,创建 Pod,通过 kubectl get events 可以看到 Pod 被调度成功的时刻
  2. 在 meta cluster 集群中 重启 kube-scheduler Pod,再次创建 Pod,这个时候通过 kubectl get events 看到 Pod被调度的时刻是 Unknown
  3. 集群版本 kubernetes 1.16.3

问题分析

之所以出现被调度时刻为 Unknown 的问题,是因为 kube-scheduler 使用的是 v1beta1.events API,不会去设置 LastTimestampFirstTimestamp 字段,而当使用 kubectl get eventkubectl describe pod xxx 的时候,将会看到 scheduled event 是 <unknown> 的。

1
2
3
4
5
6
7
8
9
10
11
$ kubectl get event
LAST SEEN TYPE REASON OBJECT MESSAGE
<unknown> Normal Scheduled pod/nginx-6c975b59f8-gvmjr Successfully assigned default/nginx-6c975b59f8-gvmjr to minikube

$ kubectl describe pod xxx
......
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned default/nginx-6c975b59f8-gvmjr to minikube
......

那么另外一个问题是,为什么 kube-scheduler Pod 重启之前是可以看到被调度成功的时刻,重启之后就变成 unknown 了呢?

参考资料