Repository: kubernetes
Issue: Host events cannot be obtained
Labels: kind/bug,sig/node,sig/instrumentation,lifecycle/stale,needs-triage

<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!

If the matter is security related, please disclose it privately via https://kubernetes.io/security/
-->


#### What happened:

I shut down the host, and I don't see the related events through `kubectl describe`, but I can get the related events through `kubectl get node` 

```
% kubectl get events
LAST SEEN   TYPE      REASON                    OBJECT                                  MESSAGE
31m         Normal    NodeNotReady              node/i-w0msdm7d                         Node i-w0msdm7d status is now: NodeNotReady
31m         Warning   NodeNotReady              pod/nginx-deployment-66b6c48dd5-g75sl   Node is not ready
31m         Warning   NodeNotReady              pod/nginx-deployment-66b6c48dd5-lj5hn   Node is not ready
29m         Normal    Starting                  node/i-w0msdm7d                         Starting kube-proxy.
29m         Normal    Starting                  node/i-w0msdm7d                         Starting kubelet.
29m         Warning   InvalidDiskCapacity       node/i-w0msdm7d                         invalid capacity 0 on image filesystem
29m         Normal    NodeAllocatableEnforced   node/i-w0msdm7d                         Updated Node Allocatable limit across pods
29m         Warning   Rebooted                  node/i-w0msdm7d                         Node i-w0msdm7d has been rebooted, boot id: 37f114e1-e547-4f58-b1f1-c16268f942cf
29m         Normal    NodeHasSufficientMemory   node/i-w0msdm7d                         Node i-w0msdm7d status is now: NodeHasSufficientMemory
29m         Normal    NodeHasSufficientPID      node/i-w0msdm7d                         Node i-w0msdm7d status is now: NodeHasSufficientPID
29m         Normal    NodeHasNoDiskPressure     node/i-w0msdm7d                         Node i-w0msdm7d status is now: NodeHasNoDiskPressure
29m         Normal    NodeReady                 node/i-w0msdm7d                         Node i-w0msdm7d status is now: NodeReady
29m         Normal    TaintManagerEviction      pod/nginx-deployment-66b6c48dd5-g75sl   Cancelling deletion of Pod default/nginx-deployment-66b6c48dd5-g75sl
29m         Normal    TaintManagerEviction      pod/nginx-deployment-66b6c48dd5-lj5hn   Cancelling deletion of Pod default/nginx-deployment-66b6c48dd5-lj5hn
29m         Warning   FailedMount               pod/nginx-deployment-66b6c48dd5-g75sl   MountVolume.SetUp failed for volume "default-token-qvb7z" : failed to sync secret cache: timed out waiting for the condition
29m         Warning   FailedMount               pod/nginx-deployment-66b6c48dd5-lj5hn   MountVolume.SetUp failed for volume "default-token-qvb7z" : failed to sync secret cache: timed out waiting for the condition
29m         Normal    SandboxChanged            pod/nginx-deployment-66b6c48dd5-lj5hn   Pod sandbox changed, it will be killed and re-created.
29m         Normal    SandboxChanged            pod/nginx-deployment-66b6c48dd5-g75sl   Pod sandbox changed, it will be killed and re-created.
29m         Normal    Pulled                    pod/nginx-deployment-66b6c48dd5-g75sl   Container image "nginx:1.14.2" already present on machine
29m         Normal    Pulled                    pod/nginx-deployment-66b6c48dd5-lj5hn   Container image "nginx:1.14.2" already present on machine
29m         Normal    Created                   pod/nginx-deployment-66b6c48dd5-g75sl   Created container nginx
29m         Normal    Created                   pod/nginx-deployment-66b6c48dd5-lj5hn   Created container nginx
29m         Normal    Started                   pod/nginx-deployment-66b6c48dd5-g75sl   Started container nginx
29m         Normal    Started                   pod/nginx-deployment-66b6c48dd5-lj5hn   Started container nginx
```

This is the data. You can't see it through the description. I wonder if this is the right behavior?

```
31m         Normal    NodeNotReady              node/i-w0msdm7d                         Node i-w0msdm7d status is now: NodeNotReady
```

Events obtained through `kubectl describe`

```
Events:
  Type     Reason                   Age                From        Message
  ----     ------                   ----               ----        -------
  Normal   Starting                 30m                kube-proxy  Starting kube-proxy.
  Normal   Starting                 30m                kubelet     Starting kubelet.
  Warning  InvalidDiskCapacity      30m                kubelet     invalid capacity 0 on image filesystem
  Normal   NodeAllocatableEnforced  30m                kubelet     Updated Node Allocatable limit across pods
  Warning  Rebooted                 30m                kubelet     Node i-w0msdm7d has been rebooted, boot id: 37f114e1-e547-4f58-b1f1-c16268f942cf
  Normal   NodeHasSufficientMemory  30m (x2 over 30m)  kubelet     Node i-w0msdm7d status is now: NodeHasSufficientMemory
  Normal   NodeHasSufficientPID     30m (x2 over 30m)  kubelet     Node i-w0msdm7d status is now: NodeHasSufficientPID
  Normal   NodeHasNoDiskPressure    30m (x2 over 30m)  kubelet     Node i-w0msdm7d status is now: NodeHasNoDiskPressure
  Normal   NodeReady                30m                kubelet     Node i-w0msdm7d status is now: NodeReady
```


After my investigation, I found that the uid of the two events

```
apiVersion: v1
count: 2
eventTime: null
firstTimestamp: "2021-03-06T12:40:22Z"
involvedObject:
  apiVersion: v1
  kind: Node
  name: i-w0msdm7d
  uid: 0ceac5fb-a393-49d7-b04f-9ea5f18de5e9
kind: Event
```

The uid of the events obtained through the description is like this

```
apiVersion: v1
count: 1
eventTime: null
firstTimestamp: "2021-03-15T06:56:53Z"
involvedObject:
  kind: Node
  name: i-w0msdm7d
  uid: i-w0msdm7d
kind: Event
lastTimestamp: "2021-03-15T06:56:53Z"
message: 'Node i-w0msdm7d has been rebooted, boot id: 37f114e1-e547-4f58-b1f1-c16268f942cf'
```

`uid: 0ceac5fb-a393-49d7-b04f-9ea5f18de5e9` After my research, it is found that it is the uid of the node object

`uid: i-w0msdm7d` It seems to be caused by this

https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kubelet.go#L478


#### What you expected to happen:

#### How to reproduce it (as minimally and precisely as possible):

Restart a host

#### Anything else we need to know?:

#### Environment:
- Kubernetes version (use `kubectl version`):
- Cloud provider or hardware configuration:
- OS (e.g: `cat /etc/os-release`):
- Kernel (e.g. `uname -a`):
- Install tools:
- Network plugin and version (if this is a network-related bug):
- Others: