在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所取代)
解决了它。
我必须做到以下几点:
-
将registry服务的环境variables从TCP_PORTS = 5000 / ssl更新为TCP_PORTS = 5000
-
在haproxy服务上,展示容器上的端口5000,并将其发布到主机端口443上。
-
现在,我可以成功地做到:
docker login my-registry.my-host.net