首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伊普斯知道关于豆荚的什么?

伊普斯知道关于豆荚的什么?
EN

Stack Overflow用户
提问于 2020-02-17 09:36:54
回答 2查看 81关注 0票数 0

假设一个集群中有两个节点。

Node A有一个豆荚的一个副本,Node B有两个副本。根据Google工程师的这个谈话(带有时间标签的YouTube视频),一个被路由到Node A的请求可能会被位于Node A内部的iptables重新路由到Node B。关于这种行为,我有几个问题:

  • iptables of Node A所知道的关于它外面的豆荚复制品的信息是什么?它怎么知道把交通送到哪里?
  • iptables of Node B会将这个请求重新发送给Node C吗?如果是,那么出口流量会返回到Node B -> Node A ->客户端吗?
EN

回答 2

Stack Overflow用户

发布于 2020-02-17 20:47:47

我想你可能把两个子系统,服务代理和CNI混为一谈。CNI是第一位的,它是一个基于插件的系统,它在所有节点之间设置路由规则,这样网络就显得平坦了。从任何节点上看,pod IP的工作方式都是正常的。这种情况的发生方式因插件而异,Calico在节点之间使用BGP。然后是服务代理,通常使用iptables实现,不过也有点可插拔。定义了服务IP ->端点IP (读: pod )负载平衡。但是实际的路由是由您的CNI插件设置的任何处理。有很多特殊的模式和案例,但这是基本的概述。

票数 2
EN

Stack Overflow用户

发布于 2020-02-17 22:07:53

在到达最终目的地之前,数据包可以在节点、服务和豆荚之间移动。

在kubernetes中,集群内的所有路由(节点到节点、吊舱到吊舱、服务到服务、服务到服务、服务到终端、吊舱到节点、节点到吊舱等)都是通过以下方式完成的:

  • CNI
  • 负载平衡算法
  • 库贝代理
  • 伊普塔莱。

k8s中的数据包路由也依赖于集群中的负载、每个节点的负载、亲和/反亲和规则、nodeSelectors、污染/容忍、自动标度、荚副本的数量等。

集群内路由对于路由器是透明的,而且理想情况下,除非存在需要调试的网络问题,否则用户不需要知道它。

在任何sudo iptables -L -n -v节点上执行k8s显示了用于数据包转发的低级iptables规则和链。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60259525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档