<p>I know the purpose of other Kubernetes default namespaces such as: <code>kube-system</code>, <code>default</code> &amp; <code>kube-public</code>, but there is no official document about the <code>kube-node-lease</code>.</p>

<p>The only <a href="https://kubernetes.io/docs/concepts/architecture/nodes/#heartbeats" rel="noreferrer">official explanation</a> I've found is:</p>

<blockquote>
  <p>Heartbeats, sent by Kubernetes nodes, help determine the availability of a node. There are two forms of heartbeats: updates of NodeStatus and the <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#lease-v1-coordination-k8s-io" rel="noreferrer">Lease object</a>. Each Node has an associated Lease object in the kube-node-lease namespace.</p>
</blockquote>

<p>With <code>kubectl get all -n kube-node-lease</code> I'm getting no resources at all. (<em>k8s-version: 1.15</em>)</p>

<p>here is the <strong>Kubernetes Enhancement Proposal</strong> of  <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/589-efficient-node-heartbeats" rel="nofollow noreferrer">node-heartbeat.md</a> for this feature. It makes node heartbeats significantly cheaper from both scalability and performance perspective.</p>
<p>This introduce a new Lease built-in API in the newly created API group <code>coordination.k8s.io.</code> which makes it easily reusable for other purposes <a href="https://github.com/kubernetes/enhancements/issues/606" rel="nofollow noreferrer">3rd party device monitoring plugins</a> that's why it is  namespaced.</p>
<p>This feature become stable in  <a href="https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-release-announcement/" rel="nofollow noreferrer">k8s 1.17</a></p>
