gpt4 book ai didi

kubernetes - 当复制 Controller 具有节点反亲和性时,Kubernetes DaemonSet 的目的是什么

转载 作者:行者123 更新时间:2023-12-03 16:31:37 24 4
gpt4 key购买 nike

DaemonSet 是 Kubernetes 的 beta 资源,可以确保恰好一个 pod 被调度到一组节点。默认情况下,节点组是所有节点,但可以使用 nodeSelector 或节点亲和/反亲和的 Alpha 功能将其限制为子集。

似乎 DaemonSet 功能可以通过具有适当节点关联性和反关联性的复制 Controller /副本集来实现。

我错过了什么吗?如果这是正确的,是否应该在 DaemonSet 离开 Beta 之前弃用它?

最佳答案

正如您所说,DaemonSet 保证每个节点有一个 pod,用于集群中的一部分节点。如果您改用 ReplicaSet,则需要

  • 使用节点关联/反关联和/或节点选择器来控制要运行的节点集(类似于 DaemonSet 的工作方式)。
  • 使用 inter-pod anti-affinity将 pod 分布到节点上。
  • 确保 Pod 数 > 集合中的节点数,以便每个节点都调度一个 Pod。

  • 然而,确保 (3) 是一件苦差事,因为节点集会随着时间而改变。使用 DaemonSet,您无需担心,也无需创建额外的、不可调度的 pod。最重要的是,DaemonSet 不依赖调度程序来分配它的 pod,这使得它对于集群引导非常有用(参见 How Daemon Pods are scheduled)。

    请参阅 DaemonSet doc 中的“DaemonSet 的替代方案”部分进行更多比较。 DaemonSet 仍然是在没有外部工具的情况下运行每节点守护程序的最简单方法。

    关于kubernetes - 当复制 Controller 具有节点反亲和性时,Kubernetes DaemonSet 的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41644755/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com