Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 活动/备用服务的最小数量_Kubernetes - Fatal编程技术网

Kubernetes 活动/备用服务的最小数量

Kubernetes 活动/备用服务的最小数量,kubernetes,Kubernetes,我对库伯内特斯完全陌生。也就是说:我正在考虑将故障转移能力添加到现有的DOCKEDISH服务中,您可能认为它是遗留服务,从某种意义上说,它需要一个主动/备用故障转移处理。(完整的基本原理需要相当长的时间来描述,它与空间索引和地理数据处理有关,其中对于给定场景,具有多个活动实例将使可伸缩性和性能方面的情况变得更糟,例如,切分将变得难以处理) 我的服务是一个HTTP REST服务(在C++中),使用的是分布式RQLite数据库的数据库客户端,该数据库存储了该服务管理的所有数据。我希望实现以下目标:

我对库伯内特斯完全陌生。也就是说:我正在考虑将故障转移能力添加到现有的DOCKEDISH服务中,您可能认为它是遗留服务,从某种意义上说,它需要一个主动/备用故障转移处理。(完整的基本原理需要相当长的时间来描述,它与空间索引和地理数据处理有关,其中对于给定场景,具有多个活动实例将使可伸缩性和性能方面的情况变得更糟,例如,切分将变得难以处理)

我的服务是一个HTTP REST服务(在C++中),使用的是分布式RQLite数据库的数据库客户端,该数据库存储了该服务管理的所有数据。我希望实现以下目标:

  • 我希望有3个RQLite服务可以随时启动并持续运行,如果可能的话可以分发到三个节点(注意:RQLite本身使用RAFT,默认组为三个)
  • 我还想有2-3个服务,我自己的应用程序运行的所有时间,其中一个必须是主所有其他必须保持待机状态
  • 服务必须能够知道另一个(例如,解析RQLite实例的IP)
我可能错过了,但不知道Kubernetes是否积极支持active/standby

<> P>但是,在查看许多对我来说都是新的细节之前,我想知道你的理由是,Kubernetes是否真的是这类场景的正确基础(游牧对于那些“遗留”的应用程序来说可能更好?)?
如果您能提供一个简单的示例来演示Kubernetes如何解决我的故障切换WOW,那就太好了。

当然,关于Kubernetes,您也可以使用Nomad,我认为这没有对错之分,所以主要是关于意见和您想尝试的内容

我认为,如果您只想使用单个,您可以在副本中使用。您可以使用管理副本。这是假设您的应用程序具有领导人选举机制(如RAFT)一次只有1个pod/实例接收流量。领导者将始终通过就绪探测,而非领导者将失败就绪探测。Kubernetes服务不会将流量转发到其就绪探测未通过的pod

另一个选项是在2个或多个服务前设置自己的代理,该代理将执行运行状况检查,并仅转发到“活动”服务


.

为什么您希望其中一个服务是主服务,而其他服务是备用的?我认为这实际上比只运行2-3个副本而所有副本都获得流量更难实现。@BrianPursley该服务正在处理地理围栏事件,例如围栏内的位置更新触发围栏进入事件。SerVice必须保证它们在任何更新中都是同步的。例如:实例1接收到的位置更新会触发围栏进入事件。实例2接收到的另一个位置更新必须保证不会触发重复的进入事件。要使此可扩展并避免同步,需要根据spa对其进行优化抽象属性。