I know the purpose of other Kubernetes default namespaces such as: kube-system, default & kube-public, but there is no official document about the kube-node-lease.
The only official explanation I've found is:
Heartbeats, sent by Kubernetes nodes, help determine the availability of a node. There are two forms of heartbeats: updates of NodeStatus and the Lease object. Each Node has an associated Lease object in the kube-node-lease namespace.
With kubectl get all -n kube-node-lease I'm getting no resources at all. (k8s-version: 1.15)
 
    