diff --git a/pkg/controller/daemon/controller.go b/pkg/controller/daemon/controller.go index b4fb9e7f2f8..c0228803d15 100644 --- a/pkg/controller/daemon/controller.go +++ b/pkg/controller/daemon/controller.go @@ -445,7 +445,10 @@ func (dsc *DaemonSetsController) updateDaemonSetStatus(ds *experimental.DaemonSe var desiredNumberScheduled, currentNumberScheduled, numberMisscheduled int for _, node := range nodeList.Items { nodeSelector := labels.Set(ds.Spec.Template.Spec.NodeSelector).AsSelector() - shouldRun := nodeSelector.Matches(labels.Set(node.Labels)) + nameMatch := ds.Spec.Template.Name == "" || ds.Spec.Template.Name == node.Name + labelMatch := nodeSelector.Matches(labels.Set(node.Labels)) + shouldRun := nameMatch && labelMatch + numDaemonPods := len(nodeToDaemonPods[node.Name]) if numDaemonPods > 0 {