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