通过种类部署模拟DaemonSet行为

我有一些无状态应用程序,我希望在每个节点上调度一个pod(受节点选择器限制)。如果我在群集中有3个节点,但其中一个发生故障,则我仍然应该有2个pod(每个节点一个)。

这正是daemonset所做的,但是daemonset对其用法有一些警告(例如,不支持节点排空,而Telepresence之类的工具则不支持它们)。因此,我想使用“部署”模拟daemonset的行为。

我的第一个想法是将水平pod自动缩放器与自定义指标一起使用,因此所需的副本将等于节点数。但是即使实现了这一点,它仍然不能保证每个节点都安排一个pod(我想呢?)。

关于如何实现这一点的任何想法?

seraph59 回答:通过种类部署模拟DaemonSet行为

可用性设计

  

如果我在群集中有3个节点,但其中一个出现故障,那么我仍然应该有2个Pod(每个节点一个)。

我理解这一点,因为您想为可用性设计集群。因此,最重要的是,您的副本(pod)分布在不同的节点上,以减少节点故障时的影响。

不同节点上的计划播客

为此使用PodAntiAffinitytopologyKey

  

部署redis集群,以便在同一主机上没有两个实例。

请参见Kubernetes documentation: Never co-located in the same nodeZooKeeper High Availability example

,

您可以考虑以下组合

  1. HPA根据自定义指标将副本更新为节点数。我想你已经做到了
  2. 使用节点亲和力和反亲和力在每个节点上仅运行一个Pod
本文链接:https://www.f2er.com/3145019.html

大家都在问