首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在scaling ECS实例上自动运行consul agent和registrator容器

如何在scaling ECS实例上自动运行consul agent和registrator容器
EN

Stack Overflow用户
提问于 2016-08-05 16:25:34
回答 2查看 1.6K关注 0票数 4

我已经创建了一个由三个节点组成的consul集群。现在,每当我在运行微服务的ECS实例或扩展ECS实例时,我需要运行consul agent和注册器容器,并将consul agent与一个consul server节点连接起来。

我已经通过滚动更新自动完成了其余的部署过程。但每当我向外扩展ECS实例时,我都必须手动启动consul agent和registrator。

有没有人知道我们怎样才能实现自动化?

EN

回答 2

Stack Overflow用户

发布于 2016-11-10 00:40:35

在用户数据中创建一个包含两个容器的任务定义:consul-

  • 和registrator.

  • aws ecs start-task

This AWS post专注于此。

IAM edit:既然您提到了ECS实例,我假设您已经为该实例设置了必要的角色。

票数 2
EN

Stack Overflow用户

发布于 2016-08-05 22:51:16

在您的领事服务器或弹性IP前创建一个ELB,这样它就不会改变。

然后在userdata中:

代码语言:javascript
复制
#!/bin/bash
consul_host=consul.mydomain.local

#start the agent
docker run -it --restart=always -p 8301:8301 -p 8301:8301/udp -p 8400:8400 -p 8500:8500 -p 53:53/udp \
-v /opt/consul:/data -v /var/run/docker.sock:/var/run/docker.sock -v /etc/consul:/etc/consul -h \
$(curl -s http://169.254.169.254/latest/meta-data/instance-id) --name consul-agent progrium/consul \
-join $consul_host -advertise $(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)`

#start the registrator
docker run -it --restart=always -v /var/run/docker.sock:/tmp/docker.sock \
-h $(curl -s http://169.254.169.254/latest/meta-data/instance-id) --name consul-registrator \
gliderlabs/registrator:latest -ip $(curl -s http://169.254.169.254/latest/meta-data/local-ipv4) \
consul://$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4):8500

注意:此代码片段假设您的设置都是本地可访问的,等等。它来自this blog postthis link的云形态

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38784589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档