29 lines
1.1 KiB
YAML
29 lines
1.1 KiB
YAML
---
|
|
- hosts: loadbalancer
|
|
become: true
|
|
roles:
|
|
- nginx
|
|
- haproxy
|
|
- keepalived
|
|
vars:
|
|
nginx_http_port: 80
|
|
nginx_https_port: 443
|
|
nginx_http2: true
|
|
nginx_ssl_certificate: "/etc/ssl/certs/ssl-cert-snakeoil.pem"
|
|
nginx_ssl_certificate_key: "/etc/ssl/private/ssl-cert-snakeoil.key"
|
|
haproxy_frontend_port: 80
|
|
haproxy_backend_servers:
|
|
- { name: "web1", address: "0.0.0.0", port: 80 }
|
|
keepalived_vrrp_id: 51
|
|
keepalived_vrrp_priority: 100
|
|
keepalived_vrrp_auth_pass: "password"
|
|
keepalived_vrrp_virtual_ip: "" # Set this to the virtual IP you want to use
|
|
keepalived_vrrp_state: "MASTER" # Set to "BACKUP" for the secondary load balancer
|
|
keepalived_vrrp_interface: "eth0" # Change to your network interface
|
|
keepalived_vrrp_virtual_router_id: 51 # Must match the ID used by the other load balancer
|
|
keepalived_vrrp_unicast_peer: [] # Add IPs of other load balancers if needed
|
|
keepalived_vrrp_unicast_src_ip: "" # Set to the source IP for unicast communication
|
|
keepalived_vrrp_track_script: "check_haproxy"
|
|
keepalived_vrrp_script_name: "check_haproxy"
|
|
|