mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-02-24 06:26:04 -03:30
Add option to configure class as the default class Add option to disable wathcing for ingresses without class Remove redundant if that always evaluates to true Fix default value missing for ingress_nginx_default
62 lines
3.0 KiB
YAML
62 lines
3.0 KiB
YAML
---
|
|
|
|
- name: NGINX Ingress Controller | Create addon dir
|
|
file:
|
|
path: "{{ kube_config_dir }}/addons/ingress_nginx"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: 0755
|
|
when:
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
|
|
- name: NGINX Ingress Controller | Templates list
|
|
set_fact:
|
|
ingress_nginx_templates:
|
|
- { name: 00-namespace, file: 00-namespace.yml, type: ns }
|
|
- { name: cm-ingress-nginx, file: cm-ingress-nginx.yml, type: cm }
|
|
- { name: cm-tcp-services, file: cm-tcp-services.yml, type: cm }
|
|
- { name: cm-udp-services, file: cm-udp-services.yml, type: cm }
|
|
- { name: sa-ingress-nginx, file: sa-ingress-nginx.yml, type: sa }
|
|
- { name: clusterrole-ingress-nginx, file: clusterrole-ingress-nginx.yml, type: clusterrole }
|
|
- { name: clusterrolebinding-ingress-nginx, file: clusterrolebinding-ingress-nginx.yml, type: clusterrolebinding }
|
|
- { name: role-ingress-nginx, file: role-ingress-nginx.yml, type: role }
|
|
- { name: rolebinding-ingress-nginx, file: rolebinding-ingress-nginx.yml, type: rolebinding }
|
|
- { name: ingressclass-nginx, file: ingressclass-nginx.yml, type: ingressclass }
|
|
- { name: ds-ingress-nginx-controller, file: ds-ingress-nginx-controller.yml, type: ds }
|
|
ingress_nginx_templates_for_webhook:
|
|
- { name: admission-webhook-configuration, file: admission-webhook-configuration.yml, type: sa }
|
|
- { name: sa-admission-webhook, file: sa-admission-webhook.yml, type: sa }
|
|
- { name: clusterrole-admission-webhook, file: clusterrole-admission-webhook.yml, type: clusterrole }
|
|
- { name: clusterrolebinding-admission-webhook, file: clusterrolebinding-admission-webhook.yml, type: clusterrolebinding }
|
|
- { name: role-admission-webhook, file: role-admission-webhook.yml, type: role }
|
|
- { name: rolebinding-admission-webhook, file: rolebinding-admission-webhook.yml, type: rolebinding }
|
|
- { name: admission-webhook-job, file: admission-webhook-job.yml, type: job }
|
|
|
|
- name: NGINX Ingress Controller | Append extra templates to NGINX Ingress Templates list for webhook
|
|
set_fact:
|
|
ingress_nginx_templates: "{{ ingress_nginx_templates + ingress_nginx_templates_for_webhook }}"
|
|
when: ingress_nginx_webhook_enabled
|
|
|
|
- name: NGINX Ingress Controller | Create manifests
|
|
template:
|
|
src: "{{ item.file }}.j2"
|
|
dest: "{{ kube_config_dir }}/addons/ingress_nginx/{{ item.file }}"
|
|
mode: 0644
|
|
with_items: "{{ ingress_nginx_templates }}"
|
|
register: ingress_nginx_manifests
|
|
when:
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
|
|
- name: NGINX Ingress Controller | Apply manifests
|
|
kube:
|
|
name: "{{ item.item.name }}"
|
|
namespace: "{{ ingress_nginx_namespace }}"
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
|
resource: "{{ item.item.type }}"
|
|
filename: "{{ kube_config_dir }}/addons/ingress_nginx/{{ item.item.file }}"
|
|
state: "latest"
|
|
with_items: "{{ ingress_nginx_manifests.results }}"
|
|
when:
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|