Tag: 工haproxy

如何重新加载configuration与docker_container模块?

我正在试图完成docker docker kill -s HUP <container> HUPL docker kill -s HUP <container>在Ansible中,但它看起来像我尝试的选项总是重新启动容器或试图而不是重新加载configuration。 运行以下命令允许我重新加载configuration而不重新启动容器: docker kill -s HUP <container> Ansible docker_container文档提供了以下选项: force_kill当停止正在运行的容器时,使用kill命令。 kill_signal覆盖用于杀死正在运行的容器的默认信号。 孤立地使用kill_signal没有做任何事情。 以下是我希望工作的一个例子: – name: Reload haproxy config docker_container: name: '{{ haproxy_docker_name }}' state: stopped image: '{{ haproxy_docker_image }}' force_kill: True kill_signal: HUP 我认为重写force_kill和kill_signal会给我所需的行为。 我也尝试设置状态,以“开始”和present 。 什么是正确的方法来做到这一点?

在DOCKER中用HAPROXY的PushCacheFilter不会推动任何东西

我试图用haproxy使用jetty的serverpush特性。 我使用PushCacheFilter和haproxy在两个docker容器中设置了Jetty 9.4.7。 我认为docker试图推动的东西,但没有PUSH_PROMISE帧交付给客户端(我已经检查了铬的networking内部选项卡)。 我不确定这是否与docker问题(也许与h2c)! 这里是我的haporxy-config(来自docker的文档): global tune.ssl.default-dh-param 1024 defaults timeout connect 10000ms timeout client 60000ms timeout server 60000ms frontend fe_http mode http bind *:80 # Redirect to https redirect scheme https code 301 frontend fe_https mode tcp bind *:443 ssl no-sslv3 crt /usr/local/etc/domain.pem ciphers TLSv1.2 alpn h2,http/1.1 default_backend be_http backend be_http mode tcp server […]

Supervisord haproxy重新加载不工作

我将我的应用程序部署在一个由Supervisorpipe理的进程的Docker容器中。 当我的Zookeeper中的服务器列表发生变化时,我正在重载容器中运行Haproxy(通过sudo haproxy重新加载)。 问题是,Supervisor立即重新启动一个旧configuration的过程,因此不会使更改生效。 1)我试过supervisorctl重读,但我想重新加载(而不是必须重新启动),以避免宕机。 2)我也考虑使用数据包redirect来重启Haproxy,但目前Docker中Iptables的使用受到限制(根据https://github.com/docker/docker/issues/4424#和https:// github .com / docker / docker / issues / 4556 ) 任何build议将不胜感激!

Docker的传统Web应用程序与负载平衡?

这不是一个技术问题,而是一个概念问题。 我的问题是:如果我要去 使用Apache设置wordpress eshop(woocommerce) 使用Docker, 与负载平衡,使用HAProxy 实施微服务架构 我应该如何执行它? 这是我想出来的: 1容器:Apache + PHP 1容器:MySQL 但我不知道如何将HAProxy集成到架构中。 任何人都可以给我一个想法吗? 如果所有的容器都在一台机器上,又如何做负载平衡? 预先感谢您的帮助。

在Tutum上使用HAProxy负载均衡Docker Registry v2

以下是关于Tutum: 注册处 开始registry:2.1.1服务 发布端口5000并configurationregistry服务: VIRTUAL_HOST=https://my-registry.my-host.net TCP_PORTS=5000/ssl SSL_CERT="…" 现在,将my-registry.my-host.net DNS指向registry服务端点,并使用以下命令testingregistry: docker login my-registry.my-host.net:5000 工作得很好,包括SSL! HAProxy的 开始了tutum / haproxy:最新的服务,发布了443端口,增加了API访问并链接到registry服务,其他一切都是默认的 将my-registry.my-host.net DNS指向haproxy服务端点,并用以下方式testingregistrylogin: docker login my-registry.my-host.net 这一次,请求失败: 503 Service Unavailable No server is available to handle this request. 我错过了什么? 注意:所有事情都是从Tutum的仪表板Web UI完成的。 另外,这里是从HAProxy服务容器生成的haproxy.cfg,对于那些有HAProxy的经验,但不一定与Tutum有关的人: https://gist.github.com/lazabogdan/3bf52984faa092b1a50b (注意:registry服务ID已被XXXXXXXX屏蔽,实际的FQDN已被my-registry.my-host.net所取代)

docker集装箱中的Haproxy不稳定

您好,我正在docker容器haproxy面临问题。 每次当我build立我的docker容器为HA它将工作正常,但过一段时间后,将停止工作,通过给出以下错误。 错误:- .<html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html> 我的docker文件: – FROM centos ENV container docker RUN yum -y update RUN yum install -y passwd RUN echo root | passwd –stdin root RUN yum -y swap — remove fakesystemd — install systemd systemd-libs RUN yum install -y net-tools RUN […]

我可以在端口80上运行两个单独的应用程序,并在Docker Swarm中运行不同的主机名?

随着新的令人兴奋的Docker Swarm在1.12中,似乎很有可能在一个服务器集群中部署多个应用程序。 我正在寻找一种方法来在同一个端口和同一个群集上部署两个单独的应用程序或应用程序入口点。 考虑以下: web.myservice.com:80 -> Swarm -> Service[web] -> web.1 -> web.2 -> web.3 backend.myservice.com:80 -> Swarm -> Service[backend] -> backend.1 -> backend.2 -> backend.3 在这种情况下群集只在一个群集的多个主机,暴露端口80.我想你可以暴露不同的端口,并负载均衡器设置为proxy_pass到另一个端口,但我会说,这将是一件好事,有可能只公开主机名:端口在集群,所以如果一个请求进来的主机名和端口它将被转发。 如果你需要多个主机或端口,你可以暴露几个。 这可能是可用的,这就是为什么我问这个问题。 也许它可以复制一些HAProxy或Nginx的高级configuration。 我已经尝试了一些,发现很难使这个可扩展。 如果您有任何意见或build议,请就这个主题提出build议! – 马库斯

Haproxy重新加载不同的后端服务器IP

是否有可能重新加载haproxy而后端服务器IP更改? 如果,怎么样? docker堆栈是必不可less的。 在每个部署中,具有不同IP的新容器将replace旧容器。 在我们的实现中,服务偶尔返回503,因为旧haproxy进程没有终止,仍然接受请求,而后端服务器已经不在了。 httplog显示一些请求转发一个后端已经不存在了。 # ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 893 0.0 0.0 0 0 ? Zs 19:39 0:01 [haproxy] <defunct> root 898 0.3 0.0 49416 9640 ? Ss 19:49 0:13 /usr/local/sbin/haproxy -D -f /app/haproxy.cfg -p /var/run/haproxy.pid root 915 0.2 0.0 0 0 ? […]

Docker,Haproxy,RabbitMQ

我有一个在3节点rabbitmq集群前面的haproxy docker实例。 我是同一个Docker群体,我有一个Springboot微服务,通过代理访问队列。 如果我让所有的东西都自己出现,那么微服务就不断地尝试连接到rabbitmq而不能。 如果我重新启动haproxy泊坞窗容器,当它出现一切都很好。 这使得它看起来像1)如果Haproxy不能连接到rabbitmq服务器,因为他们不起来,它不会最终连接到他们,当他们 或2)尝试通过haproxy连接失败后,重新启动haproxy使他们再次尝试并成功。 对我来说都没有意义。 当然,如果haproxy正在寻找3台服务器,但有一台服务器出现故障,当它恢复运行时,它最终会将其拉入循环赛? 任何人都可以解释什么(可能)发生?

使用Marathon在Mesos上部署Mysql

我有一个马拉松的mesos群集和一切在docker中运行。 我想部署生产mysql和mongodb服务器,并试图找出做服务发现的最佳方法。 选项1是使用现有的安装程序,它通过坐在其中一个主站上的haproxy服务器代理所有的东西。 我的问题是每个查询都必须从应用程序机器到主机器到数据库机器两跳,即使查询源于数据库所在的机器上。 这实际上是重要的还是我迂腐? 选项2是使用我设置但从未使用的mesos dns。 这将需要在主机联网模式下运行mysql docker镜像或将3306添加到mesos slave可以提供的端口,然后立即声明3306.然后,我将能够使用mysql.marathon.mesos作为任何连接的主机。 选项3将在每台机器上部署相同的haproxy服务器,并使用应用程序的本地haproxy将查询发送到正确的位置。 这似乎比选项1好一点,因为第一跳总是在同一台机器上,但是需要更多的工作来设置。 有没有人做过这个? 什么是这些types的服务的正确模式?