haproxy 不在 docker swarm 中对测试应用程序进行负载平衡

问题描述

我有 3 台虚拟机(虚拟机)。他们都设置为使用单个 VIP 和 keepalived。 (192.168.100.200)。我在每个 vm 上有一个代理,在每个 vm 上有一个测试应用程序。 (我正在测试一个高可用性场景,其中丢失一两个节点,使设置继续进行)。我让keepalived正常工作。只是请求没有负载均衡,它总是去同一个实例。

怎么了?

version: "3.8"
services:

  # HAproxy
  haproxy                   :
    image                   : haproxy:2.3.2
    container_name          : haproxy
    networks                :
                            - app-net
    ports                   :
                            - 80:80
    volumes                 :
                            - /etc/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
    deploy                  :
      mode                  : global
      restart_policy        :
        condition           : on-failure
        delay               : 5s
        max_attempts        : 3
        window              : 120s

  # Nginx test site
  wwwsite                 :
    image                 : Nginxdemos/hello
    networks              :
                          - app-net
    ports                 :
                          - 8080:80
    deploy                :
      mode                : global

  networks    :
  app-net     :
    driver    : overlay
    name      : app-net
    attachable: true

haproxy.conf

global
    stats socket /var/run/haproxy.stat mode 660 level admin
    stats timeout 30s
    user root
    group root

resolvers docker
    nameserver dns1 127.0.0.11:53
    resolve_retries 3
    timeout resolve 1s
    timeout retry   1s
    hold other      10s
    hold refused    10s
    hold nx         10s
    hold timeout    10s
    hold valid      10s
    hold obsolete   10s

defaults
    timeout connect 10s
    timeout client 30s
    timeout server 30s
    mode http

frontend  fe_web
    mode http
    bind *:80
    default_backend nodes

backend nodes
    balance roundrobin
    server node1 192.168.100.201:8080 check
    server node2 192.168.100.202:8080 check
    server node3 192.168.100.203:8080 check


listen stats 
    bind *:8081
    mode http
    stats enable
    stats uri /
    stats hide-version

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...