Kubernetes DaemonSet only on master nodes
You can add a nodeSelector (similar to deployments) which selects only master nodes in daemonset.
You can use tolerations and node affinity in DaemonSet manifest files.
Ex: ...... tolerations: - key: "node-role.kubernetes.io/master" operator: Exists affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "node-role.kubernetes.io/master" operator: Exists .....
I used a mix of nodeSelector and tolerations to achieve this. Here's the code -
tolerations: - key: node-role.kubernetes.io/master operator: Exists effect: NoSchedule nodeSelector: kubernetes.io/role: master