I want to deploy a DaemonSet for monitoring purpose. So these Pods need to be deployed in all Nodes.
A DaemonSet ensures that all (or some) Nodes run
Since Kubernetes 1.6, DaemonSets do not schedule on master nodes by default. In order to schedule it on master, you have to add a toleration into the Pod spec section:
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
For more details, check out the example YAML files in Kubernetss DeamonSet docu. It is also mentioned in the chapter How Daemon Pods are Scheduled.