【发布时间】:2020-06-13 15:39:45
【问题描述】:
我在对我的 kubernetes 副本的持久 tcp 连接进行负载平衡时遇到问题。
我在 kubernetes 集群之外有 Unity3D 客户端。
我的集群是一个安装了 metallb 的裸机集群,由 3 个节点组成:1 个主节点和 2 个工作节点。
据我所知,有两种方法:
1) 客户端连接到所有副本,并且每次它需要发送请求时,它都会在之前建立的随机连接上执行此操作。它会定期刷新连接(以防发生自动缩放或某些持久连接死亡)。
这里的问题是,我不确定如何从外部访问所有副本,无头服务无法对外暴露。
2) 服务网格?我模糊地阅读/理解他们可能会代表您建立持久性 tcp。所以是这样的:
unity3d客户端控制器副本
但是,我不确定如何完成此操作,并且我不确定如果控制器本身发生故障会发生什么,所有客户端都会断开连接吗?在我看来,这将归结为与 1) 中的问题相同的问题,即允许客户端使用持久 TCP 连接同时连接到多个不同的副本。
部分问题是对此的补充:https://learnk8s.io/kubernetes-long-lived-connections
【问题讨论】:
标签: kubernetes tcp load-balancing haproxy distributed-system