【发布时间】:2020-02-17 06:32:04
【问题描述】:
我已经使用 kubeadm 在本地笔记本电脑上部署了一个 kubernetes 集群(1 个 master 和 2 个 worker)。
注意到 kubelet 也在主节点上运行。从我之前读过的文章来看,kubelet 只需要在工作节点上。谁能告诉我为什么 kubernetes 主节点运行 kubelet 服务?
【问题讨论】:
我已经使用 kubeadm 在本地笔记本电脑上部署了一个 kubernetes 集群(1 个 master 和 2 个 worker)。
注意到 kubelet 也在主节点上运行。从我之前读过的文章来看,kubelet 只需要在工作节点上。谁能告诉我为什么 kubernetes 主节点运行 kubelet 服务?
【问题讨论】:
原因是 kubeadm 使用容器(pod)来部署 etcd 和 api 服务器组件。为此,静态清单被创建为 yaml 文件,这些文件由主节点上的 kubelet 拾取以提供基础设施 pod。
另一个好处是您可以从 kubernetes api 获得主节点指标。
【讨论】:
Kubelet 是用于管理 Pod 的 Kubernetes 代理。 您的主节点上也有一些 Pod 正在运行。例如,您的网络 Pod、您的 etcd Pod(如果您自己没有提供其集群)以及您在主节点上运行的任何其他 Pod(节点导出器、日志收集器等)或您没有提供的任何 DaemonSet '不容忍他们不被安排在你的主节点上是在你的主节点上运行的 Pod 的种类。所以 Kubernetes 需要 Kubelet 来管理它们。
【讨论】: