humpback / humpback-web

Docker management website
Apache License 2.0
68 stars 40 forks source link

这个没有交流群吗,有些问题想问一下,集群分配具体是怎么工作的,同一个节点有时候会分配多个相同的功能的容器,是怎么解决这些相同功能容器之间的调度的? #3

Closed 786951355 closed 7 years ago

rl5c commented 7 years ago

首先要确认在集群中创建容器的实例数和所在集群服务器数,调度策略原则上是尽量将容器分散在集群中,若有服务器创建容器失败,测试会调度到已分配过的服务器上。 关于调度参见:https://humpback.github.io/humpback/#/zh-cn/cluster-container-schedule 补:若是使用docker容器部署,最好使用如下最新镜像版本,老版本部分bug已被修复. humpbacks/humpback-center:1.1.2 humpbacks/humpback-agent:1.1.2

786951355 commented 7 years ago

在一个节点上启动多个相同功能的容器做为集群,是通过随机端口映射到容器中的服务然后将这些随机端口注册到zookeeper中吗?因为我之前在一个节点上启动了多少nginx 不知道是不是都成功了。

rl5c commented 7 years ago

humpback没有实现服务自动发现, 部署zookeeper只是起到了agent节点注册与发现, 关于服务发现需要采用WebHooks功能代替,也就是说在创建容器时需要填写webhook,当容器调度时,会将容器最新分配信息包括端口分配信息都会回调到webhook中,然后自己处理。

rl5c commented 7 years ago

关于webhook https://humpback.github.io/humpback/#/zh-cn/cluster-container-schedule?id=%e5%85%b3%e4%ba%8ewebhook 在回调的JSON数据中,参见“HookContainers”部分,是关于容器在集群中的分布信息,若要知道服务端口,就参见“HookContainers”中的"Ports".

786951355 commented 7 years ago

嗯,看了日志启动多个相同服务只有一个成功。我看看hook,谢谢!