kubelet ,并且始终运⾏在同⼀个节点上。kubelet会为每个它管理的静态Pod,调用api-server在 Kubernetes 的apiserver上创建⼀个镜像Pod(Mirror Pod)。因此我们可以在apiserver 中查询到该 Pod,也能通过kubectl等方式进行访问,但是不能通过apiserver进⾏控制(例如不能删除)。
常规Pod用工作负载资源来创建和管理多个 Pod。 资源的控制器能够处理副本的管理、上线,并在 Pod 失效时提供自愈能力。
本身节点可以尝试重启或者完全替换操作,kubernetes默认的自愈机制是当Pod退出时对Pod进行重启。
如果重启失败,可以重新拉取Pod,实现替身替换:
例如,如果一个节点失败,控制器注意到该节点上的 Pod 已经停止工作, 就可以创建替换性的 替身Pod。调度器会将替身 Pod 调度到一个健康的节点执行。
静态Pod是指定在特定的节点上运行的Pod,完全交给kubelet进行监督自愈,重启也会在同一个指定的节点上进行重启。静态 Pod 始终绑定在某⼀个kubelet,并且始终运⾏在同⼀个节点上。
如果尝试删除或者停止,静态Pod会进入Pending状态,并且很快会被kubelet重启。
静态 Pod 通常绑定到某个节点上的kubelet。其主要用途是运行自托管的控制面。
因为使用静态Pod可以有效预防通过kubectl、或管理工具操作的误删除,可以利用它来部署一些核心组件应用,保障应用服务总是运行稳定数量和提供稳定服务。
在自托管场景中,使用 kubelet 来管理各个独立的控制面组件。例如:
参考链接
https://developer.aliyun.com/article/876383?accounttraceid=351d15f009de44eea770d939d93a523dblgi