Kubernetes节点 - 节点通信

时间:2018-03-06 18:33:00

标签: kubernetes

我正在尝试了解Kubernetes关于工作节点如何相互通信的设计。我在node-master communication上找到了文档,但节点节点上没有。我已经知道,即使它们位于不同的节点上,pod也可以进行通信,除非NetworkPolicy阻止了这一点。我想知道的是,主从架构中的信息流是严格地在工作节点和主节点之间,还是在工作节点之间。

问题1 :工作节点是否相互通信,或者仅在pod之间进行通信?或者更确切地说,节点是否进行通信,即使它们的pod没有?

问题2 :假设我们有2个工作节点,并且我们有ssh:ed到其中一个节点,哪些信息可用于其他节点或主节点?

谢谢!

2 个答案:

答案 0 :(得分:2)

  

工作节点是否相互通信或仅发生这种情况   豆荚之间?或者更确切地说,即使他们的pod,节点也会进行通信   不是吗?

工作节点表示几个进程的集合:kubeletkube-proxy和容器运行时(docker或rkt)。如果通过通信,您指的是在P2P系统中共享节点状态,健康状况等,那么

Pod与pod(或服务)通信,节点也能够访问pod和服务ip地址(此路由由kube-proxy使用iptables处理)和覆盖网络。

然而,在实践中,kubernetes依靠分布式KV存储etcd来保存系统关键信息。 etcd可以部署在与需要节点到节点通信的工作进程相同的节点上。

  

假设我们有2个工作节点,并且我们有ssh:ed into   其中一个节点,有关另一个节点的信息   节点还是主人?

没有关于其他工作节点或主节点的信息 您可以从kubelet配置文件中收集一些信息,或者在apiserver日志中查看与主节点(具体为kubelet组件)的连接活动。

通常,主节点运行apiserver pod,它是kubernetes群集状态的访问点(存储在etcd中)。 Pod kubectl等使用apiserver获取所需信息。

答案 1 :(得分:0)

我之前记录了two pods within the same node can communicate directly

但是在节点之间,您需要使用kube-proxy和网络过滤器通过路由器/网关。
在" how is cluster IP in kubernetes-aws configured?"。

中查看更多内容

在这两种情况下,主人都没有明确参与或引用。