【发布时间】:2021-09-25 03:45:26
【问题描述】:
通常,当我们扩展应用程序时,我们不会在同一个节点上部署超过 1 个相同服务的 pod,使用 daemon-set 我们可以确保我们在每个节点上都有我们的服务,并且可以很容易地在扩展和缩减节点时管理 pod。如果我改用deployment,扩容时会出现问题,同一个节点可能有多个pod,新节点可能没有pod。
我想知道部署比 daemon-set 更适合的用例。
【问题讨论】:
-
一个节点没有pod是什么问题?您的入口控制器将负责路由到 pod 所在的任何位置。
-
我曾经尝试用相同数量的副本扩大节点并再次缩小节点。一旦缩小,旧节点上的 pod 会被销毁并在现有节点上创建,因此一个节点将拥有超过 1 个相同服务的 pod。
-
这个可以用PodAntiaffinity解决,看我的回答
-
谢谢,从这里的所有答案中,我决定将我的服务更改为使用部署,因为它不需要在每个节点上运行,我应该为 pod 设置反亲和性,以便当节点宕机,同一个部署的 pod 不会在同一个节点上。
标签: kubernetes