18

我知道其他 Kubernetes 默认命名空间的用途,例如:kube-systemdefault& kube-public,但没有关于kube-node-lease.

我找到的唯一官方解释是:

由 Kubernetes 节点发送的心跳有助于确定节点的可用性。心跳有两种形式:NodeStatus 和Lease 对象的更新。每个节点在 kube-node-lease 命名空间中都有一个关联的 Lease 对象。

kubectl get all -n kube-node-lease根本没有资源。(k8s 版本:1.15

4

2 回答 2

16

这里是 node-heartbeat.md 的Kubernetes Enhancement Proposal针对这个特性。从可扩展性和性能的角度来看,它使节点心跳的成本大大降低。

这在新创建的 API 组中引入了一个新的 Lease 内置 API,coordination.k8s.io.这使得它可以轻松地用于其他目的3rd 方设备监控插件,这就是它被命名空间的原因。

此功能在 k8s 1.17中变得稳定

于 2020-01-09T08:46:34.977 回答
0

Kubernetes 官方文档中有一个关于命名空间的新解释:

kube-node-lease此命名空间包含与每个节点关联的Lease对象。节点租约允许 kubelet 发送心跳,以便控制平面可以检测到节点故障。

于 2022-01-04T15:45:09.060 回答