kubeasz/roles/ex-lb/templates/l4lb.conf.j2

63 lines
1.8 KiB
Django/Jinja

user root;
worker_processes 1;
error_log /etc/l4lb/logs/error.log warn;
events {
worker_connections 3000;
}
stream {
upstream apiservers {
{% for host in groups['kube_master'] %}
server {{ host }}:{{ SECURE_PORT }} max_fails=2 fail_timeout=3s;
{% endfor %}
}
server {
listen 0.0.0.0:{{ EX_APISERVER_PORT }};
proxy_connect_timeout 1s;
proxy_pass apiservers;
}
{% if INGRESS_NODEPORT_LB == "yes" %}
upstream ingress-nodes {
{% if groups['kube_node']|length > 3 %}
server {{ groups['kube_node'][0] }}:{{ INGRESS_NODEPORT_LB_PORT }} max_fails=2 fail_timeout=3s;
server {{ groups['kube_node'][1] }}:{{ INGRESS_NODEPORT_LB_PORT }} max_fails=2 fail_timeout=3s;
server {{ groups['kube_node'][2] }}:{{ INGRESS_NODEPORT_LB_PORT }} max_fails=2 fail_timeout=3s;
{% else %}
{% for host in groups['kube_node'] %}
server {{ host }}:{{ INGRESS_NODEPORT_LB_PORT }} max_fails=2 fail_timeout=3s;
{% endfor %}
{% endif %}
}
server {
listen 0.0.0.0:80;
proxy_connect_timeout 1s;
proxy_pass ingress-nodes;
}
{% endif %}
{% if INGRESS_TLS_NODEPORT_LB == "yes" %}
upstream ingress-tls-nodes {
{% if groups['kube_node']|length > 3 %}
server {{ groups['kube_node'][0] }}:{{ INGRESS_TLS_NODEPORT_LB_PORT }} max_fails=2 fail_timeout=3s;
server {{ groups['kube_node'][1] }}:{{ INGRESS_TLS_NODEPORT_LB_PORT }} max_fails=2 fail_timeout=3s;
server {{ groups['kube_node'][2] }}:{{ INGRESS_TLS_NODEPORT_LB_PORT }} max_fails=2 fail_timeout=3s;
{% else %}
{% for host in groups['kube_node'] %}
server {{ host }}:{{ INGRESS_TLS_NODEPORT_LB_PORT }} max_fails=2 fail_timeout=3s;
{% endfor %}
{% endif %}
}
server {
listen 0.0.0.0:443;
proxy_connect_timeout 1s;
proxy_pass ingress-tls-nodes;
}
{% endif %}
}