在部署 K8s daemonset 时,当节点几乎耗尽资源时会发生什么?

时间:2021-01-13 15:21:26

标签: kubernetes daemonset

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

1 个答案:

答案 0 :(得分:1)

<块引用>

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

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

<块引用>

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

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

请参阅 Configure Quality of Service for Pods 了解如何将您的 Pod 配置为服务质量等级,其中之一:

  • 保证
  • 易爆
  • 尽力而为

您也可以考虑使用 Pod Priority and Preemption

问题是关于 DaemonSet 但作为最后一点:为用户请求提供服务的工作负载通常部署为 Deployment,对于这些,使用 {{ 进行水平扩展非常容易3}}。