【问题标题】:How to automatically run consul agent and registrator container on scaling ECS instance如何在扩展 ECS 实例上自动运行 consul agent 和 registrator 容器
【发布时间】:2016-12-11 14:16:52
【问题描述】:

我创建了一个包含三个节点的 consul 集群。现在每当我启动 ECS 实例或横向扩展运行我的微服务的 ECS 实例时,我都需要运行 consul 代理和注册器容器,并将 consul 代理与一个 consul 服务器节点加入。

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

有人知道我们如何实现自动化吗?

【问题讨论】:

  • @Takarii:目前我必须在 ECS 上手动运行 consul agent 和 registrator,只要我扩展它。我想自动化这个任务。我运行这些命令: export PRIVATE_IP=[your private IP here]; export JOIN_IP=[consul服务器节点IP]; $(docker run --rm progrium/consul cmd:run $PRIVATE_IP::10.0.0.113::client -d -it); docker run -d --name registrator \ -v /var/run/docker.sock:/tmp/docker.sock \ -h $HOSTNAME gliderlabs/registrator consul://$PRIVATE_IP:8500

标签: amazon-web-services amazon-ecs consul hashicorp-otto


【解决方案1】:
  1. 使用 consul-client 和 registrator 这两个容器创建任务定义。
  2. aws ecs start-task 在您的用户数据中。

This AWS post 专注于此。

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

【讨论】:

    【解决方案2】:

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

    然后在用户数据中:

    #!/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
    

    注意:这个 sn-p 假设您的设置都是本地可访问的,等等。它来自 this blog postthis link 的 cloudformations

    【讨论】:

      猜你喜欢
      • 2015-12-21
      • 2023-03-30
      • 1970-01-01
      • 2018-10-10
      • 2017-02-28
      • 2019-02-25
      • 2020-01-28
      • 2017-06-22
      • 2019-02-03
      相关资源
      最近更新 更多