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.