打端点时如何在所有副本中更新

问题描述 投票:0回答:1

我有3个相同应用的副本在kubernetes中运行,应用暴露了一个端点。点击端点会将一个布尔变量的值设置为true,而这个变量在我的应用中是有用途的。但问题是,当点击端点时,该变量只在其中一个副本中更新。如何通过点击一个端点使所有副本中的变量发生变化?

docker kubernetes deployment containers replication
1个回答
1
投票

你需要将你的数据存储在某种共享数据库中,而不是本地的内存中。如果你需要的只是一个临时的标志,Redis将是一个流行的选择,或者对于更持久的东西,Postgres是黄金标准。但是有一个广阔而奇妙的数据库世界,探索哪些符合你的用例。


1
投票

看起来你是想用Kubernetes来解决你的应用的问题.让我详细说明一下。

  1. 如果你在一个服务后面有几个pod,你不能用一个请求访问所有的pod。这已经被提出 此处但在我看来--不是最佳实践。

  2. 如果你需要在你的应用程序之间共享数据,你可以让它们使用集群服务相互通信。

  3. 你可能会认为你可以使用Kubernetes卷来共享数据,比如gcePersistentDisk或其他类型的卷,但话说回来,卷并不是为了解决 这些问题.

总而言之,我解决这种问题的方法,就是让pods之间互相沟通变化。Kubernetes无法为你解决这个问题。

EDIT:另一种方法可以是有一个共享的存储(例如一个包含mongoDB的单个pod),但我想说,这对你的问题来说有点矫枉过正。另外因为为了与这个pod通信,你可能无论如何都需要集群内通信。

© www.soinside.com 2019 - 2024. All rights reserved.