我对库伯内特斯很陌生。尽管如此:我希望将故障转移功能添加到一个您可能会认为是遗留服务的现有文档化服务中,因为它需要一个活动/备用故障转移处理(完整的理论基础需要很长时间来描述,它与空间索引和地理数据处理有关,对于具有多个活动实例的给定场景来说,这会使可伸缩性和性能变得更糟,例如,锐化将变得非常难以处理)。
我的服务是HTTP服务(在C++中),它是分布式RQLite DB的DB客户端,它存储由该服务管理的所有数据。我要做到以下几点:
我可能已经错过了它,但是不要知道Kubernetes是否积极支持活动/备用。我找到了一些过时的答案,比如这里的答案(使用主动/被动冗余模型的应用应该如何使用kubernetes进行容器化?)。
但是在研究许多对我来说都是新的细节之前,我想了解你的理由-- Kubernetes是否真的是这种场景的正确基础(Nomad可能更适合这种“遗留”应用?)
如果您能提供一个极小的例子来演示Kubernetes如何解决我的故障转移问题,那就太好了。
发布于 2020-07-09 02:13:06
当然,关于Kubernetes。你也可以使用Nomad,我认为没有对错,所以这主要是关于意见和你想要尝试的东西。
我认为,如果您只想使用单个库伯奈特斯服务队,就可以在副本中使用ReadinessProbes。您可以使用部署来管理副本。这是假设您的应用程序有一个领袖选举机制(如RAFT),它只有一个荚/实例一次接收流量。领导者总是会通过准备探针,而非领导者则会失败。Kubernetes服务将不会将流量转发到他们的准备探测器没有经过的吊舱。
另一种选择是在2个或更多个服务前面设置您自己的代理(如nginx/哈代 ),该代理将执行健康检查,并且只会转发给'active‘服务。
https://stackoverflow.com/questions/62805592
复制相似问题