Daemon Sets

Ensures that a copy of a Pod is running across a set of nodes in Kubernetes.

A Daemon Set in Kubernetes ensures that all (or some) Nodes run a copy of a Pod. It is used to deploy system daemons that need to run on every node in a Kubernetes cluster.

Primary Use Cases:

Daemon Sets are particularly useful for deploying Pods that perform node-level tasks such as node monitoring, log aggregation, and resource management.

Functionality:

  • Node Level Deployment: Daemon Sets deploy a specified Pod on every node in the cluster, ensuring the availability of the Pod’s functionality on every node.
  • Automatic Pod Deployment: When a new node is added to the cluster, the Daemon Set automatically deploys the Pod on the new node. Conversely, if a node is removed from the cluster, the Daemon Set terminates the Pod on the removed node.
  • Selective Deployment: Daemon Sets can be configured to deploy Pods only on nodes that meet specific criteria, using node labels and Daemon Set’s node selector.
  • Node Resource Utilization: Daemon Sets are crucial when tasks need to utilize resources at the node level, ensuring uniform resource utilization and task execution across the cluster.

Example Deployment Scenarios:

Daemon Sets are instrumental in deploying applications like network plugins, storage daemons, and monitoring agents which need to maintain a presence on all nodes within the cluster.

Last modified July 21, 2024: update (e2ae86c)