【问题标题】:Need help on docker scaling of micro-services在微服务的 docker 扩展方面需要帮助
【发布时间】:2016-10-23 02:58:06
【问题描述】:

我已经在 AWS linux AMI 实例上安装了 docker,并从 docker 文件构建了 apache 映像。 Apache 映像在我的实例中作为容器运行。我想监控我的 docker 微服务并对其进行扩展,即如果一个出现故障,那么如何启动另一个。请帮助我如何进行此操作。我对微实例缩放有点困惑。我尝试使用 cadvisor 但它没有用。 请建议我使用其他替代方法来监控和扩展 docker 容器

【问题讨论】:

标签: linux docker docker-compose microservices docker-machine


【解决方案1】:
  1. 您所描述的不是缩放。确保容器启动以代替发生故障的容器通常被称为容错或自动修复。亚马逊提供了许多可以满足这些需求的平台。最简单的是 Elastic Beanstalk 和 Elastic Container Service。
  2. 还可以通过 Beanstalk 和 Container Service 扩展您的应用程序(包括在现有容器负载过重时启动新容器),并且可以根据不同的触发器(CPU、内存、网络、延迟和更多)

还有一些其他选项可用于启动和管理容器 - 最受欢迎的是 Kubernetes、DC/OS 和 Docker Swarm,但这些可能会使事情复杂化而不是简化它们 - 所以我建议从 AWS 开始我提到的内置工具。

【讨论】:

  • 感谢您的回复。是的,实际上我们已经设置了一个 ECS docker 容器并有应用程序管理器来监控 docker 实例。所以我只想知道应用程序管理器中 docker 实例的容错是如何工作的。如果我在 ECS 中的 1 个 docker 容器出现故障,那么 ECS 将启动其他 docker 实例,那么应用程序管理器将如何识别其他实例并开始对其进行监控。
  • 我们一步一步来,尽量使用ECS术语,让我们的沟通更清晰。 ECS 正在运行服务,而这些服务又运行任务。当您定义服务时,您正在指定所需的任务数量。然后,ECS 将检查您是否拥有所需数量的资源并启动容器、监控它们的活动并在它们失败时自动启动新的容器。我真的不知道您指的是哪个应用程序管理器,但我认为它不是 ECS 架构的一部分。
  • 应用管理器是一个用来监控服务器状态的工具。 manageengine.com/products/applications_manager 并且在该应用程序管理器中,我需要监视 docker 容器以查看容器的运行状况和可用性manageengine.com/products/applications_manager/help/monitors/… 我可以设置它,但关键是如果一个 docker 容器出现故障,那么应用程序管理器将如何发现另一个容器ECS 自动启动。
  • 我明白了,我现在在使用 New Relic 监控我的服务时遇到了同样的问题。我不知道这个产品,所以我不知道他们提供了什么解决方案,但是迁移到 Docker 确实带来了一些有趣的监控挑战。我建议检查应用程序管理器提供的 docker 特定解决方案,或者联系他们的支持人员寻求帮助。
猜你喜欢
  • 2017-10-25
  • 2011-08-30
  • 2016-07-08
  • 2011-01-27
  • 2014-02-06
  • 2017-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多