如何避免Kubernetes中的节点间流量[已关闭]

hgb9j2n6  于 12个月前  发布在  Kubernetes
关注(0)|答案(2)|浏览(145)

**已关闭。**此问题为not about programming or software development。目前不接受回答。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
昨天就关门了。
机构群体正在考虑是否从昨天起重新开放此问题。
Improve this question
我有以下设置:

  • n个节点,每个节点具有特定的服务示例
  • n个服务单元(每个节点1个)
  • n个动态IP端点(每个服务/节点一个)。外部客户端绑定到服务的特定示例(一个客户端一旦设置,就只能与一个服务示例通信)。IP在群集初始化时不可用。,但稍后会添加。
  • 所述通信量是GRPC。

你们知道如何在Kubernetes中设置这样的东西吗?我如何分配IP以这种方式工作?它背后的想法是我想避免节点间的流量重定向?在这些限制内有没有其他方法来完成这一点?
如果它在节点关闭时具有容错能力,则会获得额外的好处。
下面是一个示意图,可以让事情更清楚一点:
x1c 0d1x的数据
节点2发生故障的情况:



编辑:添加了更多信息,使问题更加清晰。

jexiocij

jexiocij1#

如果是HTTP/HTTPS客户端,您可以在kubernetes集群中设置Integress Controller。ingress资源定义了从客户端到集群内服务的http/https路由(规则)。
x1c 0d1x的数据
基本上,入口管理的负载均衡器将提供外部客户端绑定的公共URL(DNS)或公共IP。这可以通过入口管理的负载均衡器中的headless service和路由规则的组合来进一步改进。

g6baxovj

g6baxovj2#

我建议查看服务的默认可用internalTrafficPolicy字段,以防万一在深入复杂的解决方案之前它对您的用例足够:

  • https://kubernetes.io/docs/reference/networking/virtual-ips/#internal-traffic-policy

将其设置为local将使所有节点本地流量都路由到节点本地端点。
一个(实质性的)警告是,如果找不到本地端点,流量将被丢弃,而不是重新路由到其他节点。
您也可以考虑拓扑感知路由,但它更难设置和维护,需要跨多个区域的多个可用端点才能有效:

  • https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/#enabling-topology-aware-routing

但是,它确实具有容忍节点故障的优点

相关问题