https://github.com/accenture/tldr-alb
Application Load Balancer container for the The Lightweight Docker Runtime
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.5%) to scientific vocabulary
Repository
Application Load Balancer container for the The Lightweight Docker Runtime
Basic Info
- Host: GitHub
- Owner: Accenture
- Language: Shell
- Default Branch: master
- Size: 4.88 KB
Statistics
- Stars: 2
- Watchers: 6
- Forks: 3
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Application Load Balancer (ALB)
Pre-requisites
- Docker Toolbox 1.9
- A running Docker engine provisioned via Docker Machine (assumed to be "alb" in the rest of this documentation):
docker-machine create -d virtualbox alb
Building the container
docker build -t tldr_alb .
How it works
TODO
Running the container
Use the TLDRLBSERVICE_NAME environment variable, which identifies the names of the services that this load balancer should work with.
Variable SERVICE_TAGS should contain tldr.type:lb to identify this component as a load balancer, and tldr.app:testapp to identify the app to which this load balancer belongs.
Also, provide the URL to the Consul server with the service information as a parameter:
docker run --name=web_lb -e SERVICE_TAGS=web -e SERVICE_NAME=web_lb --dns 172.17.0.1 -p 80:80 -p 1936:1936 --rm alb -consul=$(docker-machine ip alb):8500
When ready, visit http://$(docker-machine ip alb):1936 (someuser/password) to verify that both nginx containers are visible to haproxy. To access nginx, use http://$(docker-machine ip alb)/web-80 (the 'web-80') part is a known issue.
Test run
To load balance a service called service1_testapp-80, use the following command:
docker run --name=service1_testapp_lb -e TLDR_LB_SERVICE_NAME=service1_testapp-80 -e SERVICE_TAGS=tldr.type:lb,tldr.app:testapp -e SERVICE_NAME=service1_testapp_lb --dns 172.17.0.1 -p 80:80 -p 1936:1936 --rm pass_alb -consul=$(docker-machine ip alb):8500 -dry -once
Alternatively, use the scripts under the test folder:
- Run
tests/setup.shto bootstrap a docker-machine host with the needed components (Consul and registrator) - Run
tests/startService.sh 1to start two instances for the given service id/number - Run
tests/startAlb.sh 1to start a load balancer for the given servie id/number. Must match with the parameter provided to startService.sh.
Known issues
- Haproxy restart after updating configuration may not correctly work, and instead multiple haproxy instances are spawned. This eventually leads to a situation where haproxy configuration data is not correct and the entire load balancer has to be restarted. This is due to issue https://github.com/hashicorp/consul-template/issues/442, which should be monitored. In the meantime, we have downgraded to consul-template 0.10.0 where the issue cannot be reproduced.
- Zero downtime Haproxy reloads: http://engineeringblog.yelp.com/2015/04/true-zero-downtime-haproxy-reloads.html
Owner
- Name: Accenture
- Login: Accenture
- Kind: organization
- Website: https://accenture.github.io
- Repositories: 185
- Profile: https://github.com/Accenture
Accenture Github site
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 1
- Total pull requests: 2
- Average time to close issues: 1 minute
- Average time to close pull requests: about 7 hours
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- oscarrenalias (1)
Pull Request Authors
- oscarrenalias (1)
- SirIle (1)