Daemonset scheduling is incompatible with project’s default node selector. If
you fail to disable it, the daemonset gets restricted by merging with the
default node selector. This results in frequent pod recreates on the nodes that
got unselected by the merged node selector, which in turn puts unwanted load on
the cluster.

Therefore,

Before you start using daemonsets, disable the default project-wide node selector
in your namespace, by setting the namespace
annotation openshift.io/node-selector to an empty string:

If you update a DaemonSet’s pod template, the existing pod
replicas are not affected.

If you delete a DaemonSet and then create a new DaemonSet
with a different template but the same label selector, it recognizes any
existing pod replicas as having matching labels and thus does not update them or
create new replicas despite a mismatch in the pod template.

If you change node labels, the DaemonSet adds pods to nodes that match the new labels and deletes pods
from nodes that do not match the new labels.

To update a DaemonSet, force new pod replicas to be created by deleting the old
replicas or nodes.