Browse Source

Update Docker loadbalancer config. Use signle instance COAP transport.

pull/1166/head
Igor Kulikov 8 years ago
parent
commit
a1d7715b21
  1. 25
      msa/docker/docker-compose.yml
  2. 38
      msa/docker/haproxy/config/haproxy.cfg

25
msa/docker/docker-compose.yml

@ -117,22 +117,11 @@ services:
- tb-http-transport.env - tb-http-transport.env
depends_on: depends_on:
- kafka - kafka
tb-coap-transport1: tb-coap-transport:
restart: always restart: always
image: "${DOCKER_REPO}/${COAP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}" image: "${DOCKER_REPO}/${COAP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
ports: ports:
- "5683" - "5683:5683/udp"
environment:
TB_KAFKA_SERVERS: kafka:9092
env_file:
- tb-coap-transport.env
depends_on:
- kafka
tb-coap-transport2:
restart: always
image: "${DOCKER_REPO}/${COAP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
ports:
- "5683"
environment: environment:
TB_KAFKA_SERVERS: kafka:9092 TB_KAFKA_SERVERS: kafka:9092
env_file: env_file:
@ -159,16 +148,6 @@ services:
TB_PORT: 8080 TB_PORT: 8080
env_file: env_file:
- tb-web-ui.env - tb-web-ui.env
coap-lb:
restart: always
container_name: coap-loadbalancer
image: instantlinux/udp-nginx-proxy
ports:
- "5683:5683/udp"
environment:
BACKENDS: tb-coap-transport1 tb-coap-transport2
PORT_BACKEND: 5683
PORT_LISTEN: 5683
web: web:
restart: always restart: always
container_name: haproxy-certbot container_name: haproxy-certbot

38
msa/docker/haproxy/config/haproxy.cfg

@ -1,6 +1,9 @@
#HA Proxy Config #HA Proxy Config
global global
maxconn 4096 ulimit-n 500000
maxconn 99999
maxpipes 99999
tune.maxaccept 500
log 127.0.0.1 local0 log 127.0.0.1 local0
log 127.0.0.1 local1 notice log 127.0.0.1 local1 notice
@ -13,8 +16,6 @@ global
defaults defaults
option forwardfor
log global log global
mode http mode http
@ -30,9 +31,22 @@ listen stats
stats uri /stats stats uri /stats
stats auth admin:admin@123 stats auth admin:admin@123
listen mqtt-in
bind *:${MQTT_PORT}
mode tcp
option clitcpka # For TCP keep-alive
timeout client 3h
timeout server 3h
option tcplog
balance leastconn
server tbMqtt1 tb-mqtt-transport1:1883 check
server tbMqtt2 tb-mqtt-transport2:1883 check
frontend http-in frontend http-in
bind *:${HTTP_PORT} bind *:${HTTP_PORT}
option forwardfor
reqadd X-Forwarded-Proto:\ http reqadd X-Forwarded-Proto:\ http
acl transport_http_acl path_beg /api/v1/ acl transport_http_acl path_beg /api/v1/
@ -46,15 +60,14 @@ frontend http-in
frontend https_in frontend https_in
bind *:${HTTPS_PORT} ssl crt /usr/local/etc/haproxy/default.pem crt /usr/local/etc/haproxy/certs.d ciphers ECDHE-RSA-AES256-SHA:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM bind *:${HTTPS_PORT} ssl crt /usr/local/etc/haproxy/default.pem crt /usr/local/etc/haproxy/certs.d ciphers ECDHE-RSA-AES256-SHA:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM
reqadd X-Forwarded-Proto:\ https option forwardfor
default_backend tb-web-backend reqadd X-Forwarded-Proto:\ https
frontend mqtt-in acl transport_http_acl path_beg /api/v1/
mode tcp use_backend tb-http-backend if transport_http_acl
bind *:${MQTT_PORT}
default_backend tb-mqtt-backend default_backend tb-web-backend
backend letsencrypt_http backend letsencrypt_http
server letsencrypt_http_srv 127.0.0.1:8080 server letsencrypt_http_srv 127.0.0.1:8080
@ -67,13 +80,6 @@ backend tb-web-backend
server tbWeb2 tb-web-ui2:8080 check server tbWeb2 tb-web-ui2:8080 check
http-request set-header X-Forwarded-Port %[dst_port] http-request set-header X-Forwarded-Port %[dst_port]
backend tb-mqtt-backend
balance leastconn
option tcp-check
option log-health-checks
server tbMqtt1 tb-mqtt-transport1:1883 check
server tbMqtt2 tb-mqtt-transport2:1883 check
backend tb-http-backend backend tb-http-backend
balance leastconn balance leastconn
option tcp-check option tcp-check

Loading…
Cancel
Save