Overview

A DaemonSet is used to run 'background' services that need to be present on every node in the cluster. As nodes are added to the cluster, Pods are added to them. As nodes are removed from the cluster, those Pods are garbage collected.

Use Cases

  • Cluster Storage Daemons: Running storage agents like glusterd or ceph on every node.
  • Log Collection: Running log collectors like fluentd or logstash on every node.
  • Node Monitoring: Running monitoring agents like Prometheus Node Exporter or Datadog agent on every node.

Scheduling

By default, a DaemonSet runs a Pod on every node, but it can be restricted to specific nodes using node selectors or taints and tolerations.

Related Terms