diff --git a/inventory/sample/group_vars/k8s_cluster/addons.yml b/inventory/sample/group_vars/k8s_cluster/addons.yml index 6f0342f28..d1c369ce2 100644 --- a/inventory/sample/group_vars/k8s_cluster/addons.yml +++ b/inventory/sample/group_vars/k8s_cluster/addons.yml @@ -100,6 +100,8 @@ rbd_provisioner_enabled: false ingress_nginx_enabled: false # ingress_nginx_host_network: false # ingress_nginx_service_type: LoadBalancer +# ingress_nginx_service_nodeport_http: 30080 +# ingress_nginx_service_nodeport_https: 30081 ingress_publish_status_address: "" # ingress_nginx_nodeselector: # kubernetes.io/os: "linux" 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 2650136d8..82943024b 100644 --- a/roles/kubernetes-apps/ingress_controller/ingress_nginx/defaults/main.yml +++ b/roles/kubernetes-apps/ingress_controller/ingress_nginx/defaults/main.yml @@ -2,6 +2,8 @@ ingress_nginx_namespace: "ingress-nginx" ingress_nginx_host_network: false ingress_nginx_service_type: LoadBalancer +ingress_nginx_service_nodeport_http: "" +ingress_nginx_service_nodeport_https: "" ingress_publish_status_address: "" ingress_nginx_nodeselector: kubernetes.io/os: "linux" diff --git a/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/svc-ingress-nginx.yml.j2 b/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/svc-ingress-nginx.yml.j2 index b27304992..072b9892b 100644 --- a/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/svc-ingress-nginx.yml.j2 +++ b/roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/svc-ingress-nginx.yml.j2 @@ -14,10 +14,16 @@ spec: port: 80 targetPort: 80 protocol: TCP +{% if (ingress_nginx_service_type == 'NodePort' or ingress_nginx_service_type == 'LoadBalancer') and ingress_nginx_service_nodeport_http %} + nodePort: {{ingress_nginx_service_nodeport_http | int}} +{% endif %} - name: https port: 443 targetPort: 443 protocol: TCP +{% if (ingress_nginx_service_type == 'NodePort' or ingress_nginx_service_type == 'LoadBalancer') and ingress_nginx_service_nodeport_https %} + nodePort: {{ingress_nginx_service_nodeport_https | int}} +{% endif %} selector: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx