universal-application-haproxy-server¶
This Profile installs and configures HA Proxy for a set of services using autodiscovery based on drpcli
serch filters.
The services to load-balance are determined based on the haproxy/backend/services
parameter set on a node. Nodes are determined based on the haproxy/filters
parameter.
Alternatively, to use in "standalone mode", the haproxy/backend/map-override
and haproxy/frontend/map-override
parameters can be set,
which will cause the config to be generated without service autodiscovery.
To use in Standalone Mode:
- Assign
haproxy/backend/map-override
andhaproxy/frontend/map-override
on a node - Apply universal-application-haproxy-server
To use in Cluster Mode: refer to the Apache content bundle for a full clustered example.
- Create a cluster profile that assigns a
load-balancer
and abackend
role.
cluster/machines:
load-balancer:
pipeline: universal-application-haproxy-server
names: 'lb01.example.com'
Params:
haproxy/role: load-balancer
haproxy/filters:
- Profiles=Eq(universal-application-apache-web-server) Params.haproxy/role=Eq(backend) Profiles=Eq({{ .Machine.Name }})
backend:
pipeline: universal-application-apache-web-server
names: 'web01.example.com'
Params:
haproxy/role: backend
haproxy/backend/services:
http: 80
ssl: [443, 80443]