1

我试图了解 kubernetes 模块是如何与 etcd 交互的。我知道 Kubernetes 模块本身是无状态的,它们将状态保存在 etcd 中。但是当谈到模块如何与 etcd 交互时,我感到很困惑。我在这方面看到了相互矛盾的文本,有人说所有 etcd 交互都是通过 apiserver 发生的,而另一些人说所有模块都与 etcd 交互。

我正在寻找更改 etcd 端点和重新启动集成点的可能性,以便它们可以使用新的 etcd 实例。我没有时间去查看代码来理解这部分,所以希望这里的人可以帮助我。

4

2 回答 2

2

如果一个 Kubernetes 组件想要与 etcd 通信,它必须知道 etcd 的端点。

如果你检查这些组件的规范配置,你会发现正确的答案:只有 api-server 直接与 etcd 对话。

于 2019-06-24T11:23:18.907 回答
1

所有 kubernetes 组件,如 kubelet、kubeproxy、调度程序、控制器等,都通过 API 服务器与 etcd 交互。他们不直接与 etcd 对话。

如果您更改 etcd 端点,则应在 api 服务器配置中更新相同的端点。

于 2019-06-24T07:04:18.477 回答