✦ For everyone, free.

Practical knowledge for real and everyday life

Home

Kubernetes Daemon Workload Areas

Kubernetes Daemon Workload Areas define critical background processes that ensure cluster reliability, security, and efficiency across all nodes.

Kubernetes Daemon Workload Areas is the categorization of the functional domains that DaemonSet-based workloads typically serve within a cluster, grouping the wide variety of node-level agents deployed via DaemonSet into a small number of recurring purposes: networking, observability, storage, security, and node-management utilities. While any individual DaemonSet is defined identically at the API level — a Pod template guaranteed to run once per eligible node — the operational concerns, failure modes, and configuration patterns differ meaningfully depending on which functional area a given daemon belongs to.

Recognizing these areas helps operators reason about a cluster's daemon footprint holistically: a cluster typically runs several DaemonSets simultaneously, each drawn from a different area, and understanding the area a DaemonSet belongs to clarifies what "healthy" looks like for it and what its failure actually affects.


Networking Daemons

CNI Plugins

Container Network Interface implementations (Calico, Cilium, Flannel) are deployed as DaemonSets because each node needs a local agent to configure Pod networking, routing rules, and network policy enforcement for the Pods scheduled onto it. A CNI daemon failing on a single node typically prevents new Pods from being scheduled successfully onto that node until the daemon recovers, since Pod network setup depends on it.

Service Mesh Node Agents

Some service mesh architectures deploy a per-node component (distinct from the more common per-Pod sidecar model) handling traffic interception or mTLS termination at the node level, falling within the networking daemon area due to its per-node locality requirement.


Observability Daemons

Log Collection

Agents like Fluent Bit or Vector run as DaemonSets to tail container log files written to each node's local disk (typically under /var/log/pods or a container runtime's log directory) and forward them to a centralized log store. This area is characterized by daemons that mount host paths read-only and are primarily I/O-bound rather than CPU-bound.

Metrics Collection

Node-level metrics exporters (node-exporter, cAdvisor-adjacent agents) expose per-node hardware and OS metrics for scraping by a monitoring system. Unlike log collectors, these are typically lightweight, low-resource daemons whose main operational concern is ensuring scrape targets remain reachable across all nodes, including newly joined ones.


Storage Daemons

CSI Node Plugins

Container Storage Interface node plugins run as DaemonSets because volume mount and unmount operations must happen on the specific node where a Pod using that volume is scheduled. A CSI node plugin failure on one node manifests as volume mount failures specifically for Pods scheduled there, making this area's failures highly node-localized and often diagnosed by correlating failed mounts with the affected node.


Security Daemons

Runtime Security and Compliance Agents

Runtime threat detection tools (behavioral monitoring agents observing syscalls or container runtime events) and compliance scanners that need visibility into every running container are deployed as DaemonSets so their coverage automatically extends to new nodes without manual intervention. This area is distinguished by daemons requiring elevated privileges (often privileged: true or specific Linux capabilities) to observe kernel-level or container-runtime-level events, making their RBAC and PodSecurity configuration a frequent point of scrutiny.

Admission-Adjacent Node Agents

Some security tooling runs a lightweight node-local component that enforces or reports on policy at the node level, complementing (but distinct from) cluster-level admission controllers that intercept the Kubernetes API rather than node-local container behavior.


Node Management Daemons

Node Configuration and Maintenance Agents

Daemons that manage node-level configuration drift, apply OS-level patches, or perform node health checks and automated remediation (cordoning or draining a node exhibiting hardware issues) fall into this area, characterized by daemons that often need to interact with the underlying node OS directly, sometimes via a hostPath-mounted node filesystem or a privileged container.

Device Plugins

GPU, FPGA, or other specialized hardware device plugins run as DaemonSets scoped (via nodeSelector) to only the subset of nodes with the relevant hardware, advertising device availability to the kubelet so the scheduler can place Pods requesting that hardware correctly.


Cross-Area Operational Patterns

Regardless of area, DaemonSet workloads share operational characteristics worth managing consistently: resource requests sized conservatively (since they compete with every workload on every node for the same node's capacity), tolerations for control-plane taints when the daemon's function genuinely needs to run there, and updateStrategy: RollingUpdate with a bounded maxUnavailable to avoid losing an entire area's coverage simultaneously during a daemon upgrade.

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: codartium-node-metrics
  labels:
    area: observability
spec:
  updateStrategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
  selector:
    matchLabels:
      app: codartium-node-metrics
  template:
    metadata:
      labels:
        app: codartium-node-metrics
        area: observability
    spec:
      tolerations:
        - operator: "Exists"
          effect: "NoSchedule"
      containers:
        - name: exporter
          image: codartium/node-metrics:latest