Skip to content

armadaplatform/main-haproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

main-haproxy

main-haproxy service contains armadized HAProxy. It can be used to redirect and load balance your HTTP traffic. Using it alongside magellan is a recommended way for service discovery on Armada platform.

Beside HAProxy the service contains REST API endpoint (/upload_config) that allows dynamic update of HAProxy configuration.

Building and running the service.

armada build main-haproxy
armada run main-haproxy -p 80:80

The HAProxy service is bound to the port 80 inside the container. It is a good practice to map it to port 80 on the host also.

Internal service that allows dynamic configuration update runs on port 8080 inside the container. However main-haproxy uses it as default backend so port 80 can be used for uploading configuration as well. There is no need to expose separate port for it.

Pairing with magellan.

Great results can be achieved by using main-haproxy + magellan duo. The first service is responsible for directing net traffic, while the second one is responsible for configuring the rules for it.

Most common real-life scenario is pointing domain such as *.initech.com to the ship/ships that run main-haproxy and then configure magellan to map subdomains such as chat-service.initech.com to service chat-service registered in Armada catalog. magellan by default will configure all main-haproxy services in its Armada cluster that have the same environment set. So the recommended way to run main-haproxy is something like this:

armada run main-haproxy -p 80:80 --env production-aws       (on every ship in the Armada cluster)
armada run magellan --env production-aws

Enabling HAProxy stats

Additionally you can enable HAProxy html stats (see http://tecadmin.net/how-to-configure-haproxy-statics/). It will be accessible as another endpoint in main-haproxy, registered in Armada catalog as main-haproxy:stats subservice.

It's best to use magellan to configure that. Look here for more info.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published