All Projects → PlayGames24x7 → lb-manager

PlayGames24x7 / lb-manager

Licence: other
No description or website provided.

Programming Languages

CSS
56736 projects
python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to lb-manager

docker-redis-haproxy-cluster
A Redis Replication Cluster accessible through HAProxy running across a Docker Composed-Swarm with Supervisor and Sentinel
Stars: ✭ 44 (+131.58%)
Mutual labels:  haproxy
ptw
Pooling TLS Wrapper
Stars: ✭ 20 (+5.26%)
Mutual labels:  haproxy
capistrano-docker-compose
Docker Compose specific tasks for Capistrano
Stars: ✭ 17 (-10.53%)
Mutual labels:  haproxy
torpool
Containerized pool of multiple Tor instances with load balancing and HTTP proxy.
Stars: ✭ 42 (+121.05%)
Mutual labels:  haproxy
ansible-haproxy
Installs and configures HAProxy
Stars: ✭ 19 (+0%)
Mutual labels:  haproxy
letsencrypt-dcos
Let's Encrypt DC/OS!
Stars: ✭ 39 (+105.26%)
Mutual labels:  haproxy
rabbitmq-cluster-docker-compose
No description or website provided.
Stars: ✭ 24 (+26.32%)
Mutual labels:  haproxy
HAProxy-2-RPM-builder
Build latest HAProxy binary with prometheus metrics support
Stars: ✭ 28 (+47.37%)
Mutual labels:  haproxy
swarm-router
Scalable stateless «zero config» service-name ingress for docker swarm mode with a fresh more secure approach
Stars: ✭ 58 (+205.26%)
Mutual labels:  haproxy
ansible-haproxy
Ansible HAproxy role for Unified OpenStack Installer and others.
Stars: ✭ 35 (+84.21%)
Mutual labels:  haproxy
haminer
[mirror] Library and program to parse and forward HAProxy HTTP logs
Stars: ✭ 22 (+15.79%)
Mutual labels:  haproxy
kube-template
Watches Kubernetes for updates, writing output of a series of templates to files
Stars: ✭ 27 (+42.11%)
Mutual labels:  haproxy
pyhaproxy
Python library to parse haproxy configurations
Stars: ✭ 50 (+163.16%)
Mutual labels:  haproxy
consul-vault
HashiCorp Vault service running on Consul cluster backend with HAProxy frontend
Stars: ✭ 27 (+42.11%)
Mutual labels:  haproxy
charts
HAProxy Ingress helm charts
Stars: ✭ 24 (+26.32%)
Mutual labels:  haproxy
esa-httpclient
An asynchronous event-driven HTTP client based on netty.
Stars: ✭ 82 (+331.58%)
Mutual labels:  haproxy
micro-service-practice
OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 25 (+31.58%)
Mutual labels:  haproxy
archi cloudnative
Cloud Native Architectural Models using Archi. Contains models for CAAS, Cloud Native Applications, 12/15 Factor Applications with CI/CD/CS, monitoring and log management. Infrastructure components include Red Hat OpenShift, Red Hat Storage, Red Hat Ansible Tower, Red Hat Cloudforms, Red Hat Satellite, Red Hat JBoss Middleware.
Stars: ✭ 55 (+189.47%)
Mutual labels:  haproxy
haproxy-keepalived
HAProxy & Keepalived for Docker and kubernetes
Stars: ✭ 29 (+52.63%)
Mutual labels:  haproxy
gafka
A full ecosystem that is built around kafka powered by golang
Stars: ✭ 96 (+405.26%)
Mutual labels:  haproxy

LB-Manager

HAProxy is free, open source software that provides a high availability load balancer and proxy server for TCP and HTTP-based applications that spreads requests across multiple servers. The applications running behind HAProxy are typically updated in a round-robin fashion to ensure there is no downtime. A standard procedure of update involves disabling the node running that application from HAProxy, update the application and then enable it back. To enable and disable application nodes, HAProxy stats UI can be used but it's major drawback is it only works if HAProxy is running as a single process. HAProxy Manager was designed to counter that drawback and ease the process of deployment.

Installation

Environment

Centos 7, Python 2.7, x86-64 Architecture

Install Yum Dependencies

yum install -y gcc python-devel openssl-devel openldap-devel epel-release python-pip libffi-devel httpd

Install Pip Dependencies

pip install -r requirements.txt

Configuration

Before running the tool you need to enter your environment config parameters in config.ini file. They are described below:

  1. haproxy: This section only requires the path of haproxy socket dir. Please name the sockets in this dir as stats1, stats2 and so on.
  2. ldap: Configure ldap related parameters in this section.
  3. email: When applications are enabled or disabled from the tool, an email is sent. Please configure email related parameters in this section.

Sample HAProxy global section

  global
    log 127.0.0.1 local0 debug
    maxconn 150000
    tune.ssl.default-dh-param 2048
    user haproxy
    group haproxy
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxcompcpuusage 1
    maxcomprate 1
    maxpipes    150000
    daemon

    nbproc 6
    cpu-map 1 0
    cpu-map 2 1
    cpu-map 3 2
    cpu-map 4 3
    cpu-map 5 4
    cpu-map 6 5

    stats socket /var/lib/haproxy/stats1 process 1 level admin
    stats socket /var/lib/haproxy/stats2 process 2 level admin
    stats socket /var/lib/haproxy/stats3 process 3 level admin
    stats socket /var/lib/haproxy/stats4 process 4 level admin
    stats socket /var/lib/haproxy/stats5 process 5 level admin
    stats socket /var/lib/haproxy/stats6 process 6 level admin

As Flask webserver is not suitable to run in production environment, we run this application with Apache mod_wsgi web server. WSGI daemon processes cannot be run as root. So you need to ensure the user, group specified in apache mod_wsgi configuration has access to lb-manager dir and haproxy sockets dir.

Sample Apache Configuration

WSGISocketPrefix <path_to_repository/logs>
<VirtualHost *:5000>
    ServerName <servername>

    WSGIDaemonProcess lb-manager user=<user> group=<group> home=<path_to_repository>
    WSGIScriptAlias / <path_to_wsgi_file>

    <Directory <path_to_repository>>
        WSGIProcessGroup lb-manager
        WSGIApplicationGroup %{GLOBAL}
        WSGIScriptReloading On
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

Running the Application

service httpd start
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].