Kubernetes DaemonSet only on master nodes Kubernetes DaemonSet only on master nodes kubernetes kubernetes

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