diff --git a/inventory/sample/group_vars/k8s-cluster/addons.yml b/inventory/sample/group_vars/k8s-cluster/addons.yml index 642ebea4317b1ac278aa119894c20980f5052020..05d9a4b08b9d2327291322e21fd46965396525a2 100644 --- a/inventory/sample/group_vars/k8s-cluster/addons.yml +++ b/inventory/sample/group_vars/k8s-cluster/addons.yml @@ -110,6 +110,7 @@ ingress_publish_status_address: "" # 53: "kube-system/coredns:53" # ingress_nginx_extra_args: # - --default-ssl-certificate=default/foo-tls +# ingress_nginx_class: nginx # ambassador ingress controller deployment ingress_ambassador_enabled: false diff --git a/roles/kubernetes-apps/ingress_controller/ingress_nginx/defaults/main.yml b/roles/kubernetes-apps/ingress_controller/ingress_nginx/defaults/main.yml index 79cf08dfd0acb51e6921f0f4439084fb6d38a288..ad9e83b5e61fe9f7cd6a980fa3dbe0691799b6cc 100644 --- a/roles/kubernetes-apps/ingress_controller/ingress_nginx/defaults/main.yml +++ b/roles/kubernetes-apps/ingress_controller/ingress_nginx/defaults/main.yml @@ -12,3 +12,4 @@ ingress_nginx_configmap: {} ingress_nginx_configmap_tcp_services: {} ingress_nginx_configmap_udp_services: {} ingress_nginx_extra_args: [] +# ingress_nginx_class: nginx diff --git a/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/ds-ingress-nginx-controller.yml.j2 b/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/ds-ingress-nginx-controller.yml.j2 index 8a87f6fec5db12e05823e5f2a867f20432049677..d397176cc0477867787af88d36723fc0f0a6a3d1 100644 --- a/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/ds-ingress-nginx-controller.yml.j2 +++ b/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/ds-ingress-nginx-controller.yml.j2 @@ -50,6 +50,9 @@ spec: - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services - --udp-services-configmap=$(POD_NAMESPACE)/udp-services - --annotations-prefix=nginx.ingress.kubernetes.io +{% if ingress_nginx_class is defined %} + - --ingress-class={{ ingress_nginx_class }} +{% endif %} {% if ingress_nginx_host_network %} - --report-node-internal-ip-address {% endif %} diff --git a/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/role-ingress-nginx.yml.j2 b/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/role-ingress-nginx.yml.j2 index 448cf370afc299b8e2e9a08bcc8984bab66cd5af..46c5caeeaa772f851da8fd12774797b1523f8f8e 100644 --- a/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/role-ingress-nginx.yml.j2 +++ b/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/role-ingress-nginx.yml.j2 @@ -32,7 +32,7 @@ rules: # Here: "<ingress-controller-leader>-<nginx>" # This has to be adapted if you change either parameter # when launching the nginx-ingress-controller. - resourceNames: ["ingress-controller-leader-nginx"] + resourceNames: ["ingress-controller-leader-{{ ingress_nginx_class | default('nginx') }}"] verbs: ["get", "update"] - apiGroups: [""] resources: ["configmaps"]