我知道 Kubernetes 有 5 个模块:主节点中的 kube-apiserver, kube-controller-manager, kube-scheduler
和 Minion 节点中的 kubelet, kube-proxy
。他们如何与 etcd 通信?他们都会在 etcd 中查询或设置数据吗?还是只有其中一些?
The docs 说 etcd 只能通过 kube-apiserver
访问:
但是谷歌的一些博客和架构图认为 etcd 也可以被其他模块访问,就像 this blog 所说的:
那么哪个说的对呢?谢谢!
最佳答案
您链接到的文档是正确的——只有 apiserver 直接与 etcd 通信。其余的系统组件通过 apiserver 间接与 etcd 通信。
另请注意,您链接到的博客文章只有大约 2 年的历史,当时它可能是准确的,但您链接到的文档适用于 Kubernetes 的当前版本。
关于kubernetes - Kubernetes 模块如何与 etcd 通信?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39102749/