Amazon-ECS中的Docker-ized Consul,Zookeeper和Kafka

前端之家收集整理的这篇文章主要介绍了Amazon-ECS中的Docker-ized Consul,Zookeeper和Kafka前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试将dockerized Kafka(使用Zookeeper)部署到AWS.我已经梳理了几个资源,并且接近了.但是当我在AWS中使用我的Kafka盒子时,我可以看到Kafka正以-1退出.我只能假设Kafka无法访问Zookeeper,因为我没有设置任何名称解析.我正在考虑Consul作为解决方案(见here).

这看起来像一个体面的resource.但我甚至无法成功运行官方领事docker image(在服务器或代理模式).我可以让this one上班(使用here).但如果可能的话,我想使用官方图片.

有没有人得到官方的领事形象与卡夫卡和动物园管理员合作?

A)首先,我想我想在docker-compose中使用它.这是我的docker-compose.yml file,我试图让Kafka使用Consul来发现Zookeeper节点.

下面是相关的代码块,您可以使用docker-compose up consul运行.这不会显示任何错误.但我)我无法达到http://localhost:8500. ii)我如何将Kafka指向Zookeeper和Kafka的客户到Kafka?

version: '2'
services:

  consul:
    image: consul:0.8.3
    expose:
      - 8300
      - 8301
      - 8301/udp
      - 8302
      - 8302/udp
      - 8400
      - 8500
      - 8600
      - 8600/udp
    ports:
      - 8300:8300
      - 8301:8301
      - 8301/udp:8301/udp
      - 8302:8302
      - 8302/udp:8302/udp
      - 8400:8400
      - 8500:8500
      - 8600:8600
      - 8600/udp:8600/udp
    command: "agent -server -bind=0.0.0.0 -retry-join=0.0.0.0 -bootstrap-expect=1"

B)然后我可以尝试在AWS中使用它(通过Terraform).理想情况下,我想拥有10个Kafka节点和2个Zookeeper节点.但那是一个伸展的目标.

编辑

正如@MattSchuchard指出的那样,Mesos可以选择Marathon和Chronos.

A)但是我想尝试一些我认为会更直接的东西(即Consul,Zookeeper,Kafka),然后再分层抽象.使用像zutherb/terraform-dcos这样的东西可以简化安装DCOS.

B)但走这条路线意味着改变部署工作流程,从i)只是部署ECS实例,到ii)将DCOS集群部署到AWS,然后将docker镜像部署到AWS.如果我能够轻松地将Consul,Kafka等容器部署到Marathon,那么这将是件好事.据我所知,我必须使用docs cli,因为我的实际应用和服务而失去了Terraform的声明属性.因为现在,没有正式的Terraform提供商与Marathon进行交互(尽管有nicgrayson/terraform-provider-marathon).

C)所以我将看一下Mesosphere DCOS.但希望我现在拥有的只是一个小的配置错误.

最佳答案

Has anyone gotten the official Consul image working with Kafka and Zookeeper?

是的,我有:)请参阅https://github.com/dmstr/docker-roj/blob/master/data/example/discovery/consul/docker-compose.yml获取示例配置.尽管映射的端口我使用网络模式主机为consul,它只是更好地工作.

您可以查看有关如何setup a swarm with consul on AWS的文档.

虽然这可能无法回答您的所有问题,但查看如何设置您的群体仍然是一个很好的资源;因为这是一个非常简单的解决方案.随意为roj提交问题或PR.

猜你在找的Docker相关文章