3

I'm wondering if a daemonset in kubernetes will always be deployed to all nodes.

My confusion comes from the following description of a daemonset

A DaemonSet makes sure that all or some kubernetes Nodes run a copy of a Pod.

The "or some" part, implies that there are cases when some nodes won't run a pod. For my use case it would be important that all nodes would run an instance. What are the cases in which a node won't run an instance of a pod, even though it is deployed as a daemonset?

1 Answers1

5

It depends on which target of nodes are selected.

If you specify a .spec.template.spec.nodeSelector, then the DaemonSet controller will create Pods on nodes which match that node selector. Likewise if you specify a .spec.template.spec.affinity, then DaemonSet controller will create Pods on nodes which match that node affinity. If you do not specify either, then the DaemonSet controller will create Pods on all nodes.DaemonSet

Also I would check the taint and toleration for Daemonset.

P Ekambaram
  • 15,499
  • 7
  • 34
  • 59
Suresh Vishnoi
  • 17,341
  • 8
  • 47
  • 55