You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.1 KiB

  1. error_log stderr notice;
  2. worker_processes 2;
  3. worker_rlimit_nofile 130048;
  4. worker_shutdown_timeout 10s;
  5. events {
  6. multi_accept on;
  7. use epoll;
  8. worker_connections 16384;
  9. }
  10. stream {
  11. upstream kube_apiserver {
  12. least_conn;
  13. {% for host in groups['kube_control_plane'] -%}
  14. server {{ hostvars[host]['access_ip'] | default(hostvars[host]['ip'] | default(fallback_ips[host])) }}:{{ kube_apiserver_port }};
  15. {% endfor -%}
  16. }
  17. server {
  18. listen 127.0.0.1:{{ loadbalancer_apiserver_port|default(kube_apiserver_port) }};
  19. proxy_pass kube_apiserver;
  20. proxy_timeout 10m;
  21. proxy_connect_timeout 1s;
  22. }
  23. }
  24. http {
  25. aio threads;
  26. aio_write on;
  27. tcp_nopush on;
  28. tcp_nodelay on;
  29. keepalive_timeout {{ loadbalancer_apiserver_keepalive_timeout }};
  30. keepalive_requests 100;
  31. reset_timedout_connection on;
  32. server_tokens off;
  33. autoindex off;
  34. {% if loadbalancer_apiserver_healthcheck_port is defined -%}
  35. server {
  36. listen {{ loadbalancer_apiserver_healthcheck_port }};
  37. location /healthz {
  38. access_log off;
  39. return 200;
  40. }
  41. location /stub_status {
  42. stub_status on;
  43. access_log off;
  44. }
  45. }
  46. {% endif %}
  47. }