diff --git a/roles/kubernetes-apps/ansible/defaults/main.yml b/roles/kubernetes-apps/ansible/defaults/main.yml
index 55a015d5be7c0f8c0f4532d627216a3748a3d311..7a5e2efa40aa9e732b34392d7013f143405a7959 100644
--- a/roles/kubernetes-apps/ansible/defaults/main.yml
+++ b/roles/kubernetes-apps/ansible/defaults/main.yml
@@ -50,6 +50,7 @@ dashboard_use_custom_certs: false
 dashboard_certs_secret_name: kubernetes-dashboard-certs
 dashboard_tls_key_file: dashboard.key
 dashboard_tls_cert_file: dashboard.crt
+dashboard_master_toleration: true
 
 # Override dashboard default settings
 dashboard_token_ttl: 900
diff --git a/roles/kubernetes-apps/ansible/templates/dashboard.yml.j2 b/roles/kubernetes-apps/ansible/templates/dashboard.yml.j2
index 6376e93f98e8f3d711753b02fcb83222d12dff79..070d4def957fd7db8244c6b07600ec638c89dd39 100644
--- a/roles/kubernetes-apps/ansible/templates/dashboard.yml.j2
+++ b/roles/kubernetes-apps/ansible/templates/dashboard.yml.j2
@@ -193,10 +193,11 @@ spec:
       - name: tmp-volume
         emptyDir: {}
       serviceAccountName: kubernetes-dashboard
-      # Comment the following tolerations if Dashboard must not be deployed on master
+{% if dashboard_master_toleration %}
       tolerations:
       - key: node-role.kubernetes.io/master
         effect: NoSchedule
+{% endif %}
 
 ---
 # ------------------- Dashboard Service ------------------- #