0

在部署 Kubernetes Daemonset 时,当单个节点(几个节点中)几乎耗尽资源,无法创建 pod,没有可以驱逐的 pod 时会发生什么?虽然 Kubernetes 可以水平扩展,但我认为水平扩展没有意义,因为 Daemonset 需要每个节点上的每个 pod。

4

1 回答 1

1

虽然 Kubernetes 可以水平扩展,但我认为水平扩展没有意义,因为 Daemonset 需要每个节点上的每个 pod。

DaemonSet是一种工作负载类型,主要用于操作工作负载,例如从节点传输日志或类似的“系统服务”。它很少适合为您的用户服务的工作负载,但它可以。

当单个节点(在几个节点中)几乎没有资源,并且无法创建 pod,并且没有可以驱逐的 pod 时会发生什么?

如上所述,部署的工作负载DaemonSet通常是在集群中具有基础设施角色的操作工作负载。由于这可能是更关键的 pod(或更少,取决于您想要什么),我会为这些 pod 使用更高的服务质量,以便在节点上的资源很少时驱逐其他 pod。

请参阅为 Pod 配置服务质量,了解如何将您的 Pod 配置为服务质量类,其中之一:

  • 保证
  • 可爆破
  • 最大的努力

你也可以考虑使用Pod Priority 和 Preemption

问题是关于DaemonSet但作为最后一点:为用户请求提供服务的工作负载,通常部署为那些,使用Horizo​​ntal Pod AutoscalerDeployment很容易进行水平扩展。

于 2021-01-13T18:38:13.227 回答