我知道Kubernetes有5个模块:kube-apiserver, kube-controller-manager, kube-scheduler
在Master节点和kubelet, kube-proxy
Minion节点中.他们如何与etcd沟通?他们都会在etcd中查询或设置数据吗?或者只有其中一些呢?
文档说etcd只能通过kube-apiserver
以下方式访问:
访问控制:仅对etcd提供kube-apiserver读/写访问权限.您不希望apiserver的etcd暴露给集群中的每个节点(或者更糟糕的是,暴露给整个互联网),因为对etcd的访问等同于集群中的root.
但谷歌的一些博客和建筑人物认为,etcd也可以通过其他模块访问,就像这篇博客所说:
etcd服务是Kubernetes集群的通信总线.app-service将对etcd数据库的状态更改发布,以响应命令和查询.kubelet读取etcd数据库的内容并对它们检测到的任何更改进行操作.
那说哪个是对的?谢谢!
您链接的文档是正确的 - 只有apiserver直接与etcd通信.其余系统组件通过apiserver 间接与etcd通信.
另请注意,您链接到的博客文章大约只有2年,当时可能是准确的,但您链接的文档是针对当前版本的Kubernetes.
归档时间: |
|
查看次数: |
964 次 |
最近记录: |