根据用户访问的数据将多个用户路由到特定的Kubernetes pod



我使用Kubernetes部署了同一应用程序的多个pod。该应用程序管理多个"Project"对象。当Marry在pod-01上进行"项目1"时,Tom登录pod-02。这是一个要求,如果Tom试图在pod-02上打开"项目1",我们需要将他发送到pod-01,Marry已经在那里打开了"项目1"。我该怎么做?

我可以在"项目1"对象中存储pod-01的一些唯一标识符吗?所以我可以用它把汤姆送到pod-01。

这在技术上可行吗?

您所描述的是有状态工作负载,其中应用程序的每个实例都包含状态

Kubernetes中的正常工作负载是无状态,并与Deployment和ReplicaSet一起部署。然而,Kubernetes现在通过使用StatefulSet 对有状态的工作负载提供了一些支持

实现您的用例可能是可能的,但这取决于具体情况。如果你需要的话,你的用户将不会有自己的实例。我建议您将服务设计为无状态工作负载,并将所有状态存储在数据库中(可能使用statefulSet(,因为处理无状态工作负载要容易得多。

最新更新