Browse Source

Add support to set tolerations for ingress-nginx (#3742)

Introduced variable `ingress_nginx_tolerations` to set custom
tolerations for Ingress nginx daemonset, to be able to schedule
ingress-nginx on dedicated nodes with taints.
pull/3772/head
Michal Belica 6 years ago
committed by k8s-ci-robot
parent
commit
993b8e2791
3 changed files with 10 additions and 0 deletions
  1. 5
      inventory/sample/group_vars/k8s-cluster/addons.yml
  2. 1
      roles/kubernetes-apps/ingress_controller/ingress_nginx/defaults/main.yml
  3. 4
      roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/ds-ingress-nginx-controller.yml.j2

5
inventory/sample/group_vars/k8s-cluster/addons.yml

@ -51,6 +51,11 @@ ingress_nginx_enabled: false
# ingress_nginx_host_network: false
# ingress_nginx_nodeselector:
# node-role.kubernetes.io/master: ""
# ingress_nginx_tolerations:
# - key: "key"
# operator: "Equal"
# value: "value"
# effect: "NoSchedule"
# ingress_nginx_namespace: "ingress-nginx"
# ingress_nginx_insecure_port: 80
# ingress_nginx_secure_port: 443

1
roles/kubernetes-apps/ingress_controller/ingress_nginx/defaults/main.yml

@ -3,6 +3,7 @@ ingress_nginx_namespace: "ingress-nginx"
ingress_nginx_host_network: false
ingress_nginx_nodeselector:
node-role.kubernetes.io/master: ""
ingress_nginx_tolerations: []
ingress_nginx_insecure_port: 80
ingress_nginx_secure_port: 443
ingress_nginx_configmap: {}

4
roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/ds-ingress-nginx-controller.yml.j2

@ -29,6 +29,10 @@ spec:
nodeSelector:
{{ ingress_nginx_nodeselector | to_nice_yaml }}
{%- endif %}
{% if ingress_nginx_tolerations %}
tolerations:
{{ ingress_nginx_tolerations | to_nice_yaml(indent=2) | indent(width=8) }}
{%- endif %}
{% if kube_version is version('v1.11.1', '>=') %}
priorityClassName: {% if ingress_nginx_namespace == 'kube-system' %}system-node-critical{% else %}k8s-cluster-critical{% endif %}{{''}}
{% endif %}

Loading…
Cancel
Save