Kubernetes如何为ETCD集群创建租约资源,以查看leader信息?
$ kubectl get leases
NAME HOLDER AGE
kube-controller-manager master01.k8s-host.com_68f9a489-4e8c-4dc6-a9c2-6136d4cf7798 22h
kube-scheduler master01.k8s-host.com_b1a8a9a3-e2bb-4102-84a4-b046b8776bdb 21h$ kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.8", GitCommit:"5575935422cc1cf5169dfc8847cb587aa47bac5a", GitTreeState:"clean", BuildDate:"2021-06-16T13:00:45Z", GoVersion:"go1.15.13", Compiler:"gc", Platform:"linux/amd64"}$ etcd version
etcd Version: 3.4.16
Git SHA: d19fbe541
Go Version: go1.12.17
Go OS/Arch: linux/amd64发布于 2021-07-08 21:40:47
可能对你有帮助的部分答案。然而,也许你想换个说法“Kubernetes是如何创建租赁资源的”。Tbh不清楚你是想检查后台正在发生的事情的详细输出,还是想了解主要思想和步骤。
我找到的是相当全面的etcd文章Getting Started with Kubernetes | etcd | LEASE part
租用通常用于表示分布式系统中的分布式租用。通常,需要使用租用机制来检测分布式系统中的节点是否处于活动状态。

如上图所示,创建了10秒的租用。如果您在创建租约后未执行任何操作,则租约将在10秒后自动过期。将key1和key2绑定到租约,以便etcd在租约到期时自动清除key1和key2。
如果您想保留租约,则需要定期调用KeeyAlive方法进行刷新。例如,要检查分布式系统中的某个进程是否处于活动状态,可以在该进程中创建一个租约,并定期调用该进程中的KeepAlive方法。如果流程正常,则保留该节点的租约。如果进程崩溃,租约将自动过期。
然而,如果大量密钥需要支持类似的租借机制,并且每个密钥都必须单独刷新租约,这就给etcd带来了很大的压力。因此,etcd允许将多个密钥(例如,过期时间相似的密钥)绑定到同一个租约,这可以大大降低租约刷新的开销,提高etcd的性能。
https://stackoverflow.com/questions/68299013
复制相似问题