gpt4 book ai didi

amazon-web-services - 如何理解 Amazon ECS 集群

转载 作者:IT老高 更新时间:2023-10-28 12:37:50 26 4
gpt4 key购买 nike

我最近尝试使用 AWS 的任务定义来部署 docker 容器。在此过程中,我遇到了以下问题。

  1. 如何将实例添加到集群中?使用 Amazon ECS 控制台创建新集群时,如何将新的 ec2 实例添加到新集群。换句话说,当启动一个新的 ec2 实例时,需要什么配置才能将其分配给用户在 Amazon ECS 下创建的集群。

  2. 一个集群需要多少个ECS实例,有哪些因素?

  3. 如果我在一个集群中有两个实例(ins1、ins2),并且我的 webapp、db 容器在 ins1 中运行。在我更新了正在运行的服务后(通过 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-service.html ),我可以看到新创建的服务正在“ins2”中运行,然后在“ins1”中耗尽旧服务。我的问题是,我的webapp容器分配给另一个实例后,访问IP地址变成了另一个实例IP。如何防止或有什么解决方案使相同的IP地址访问webapp?不只是IP,换新实例后的数据呢?

最佳答案

这确实是三个完全不同的问题,因此最好在此处将它们相应地分成不同的问题-无论如何我都会尝试提供答案:

  1. Amazon ECS Container Instances间接添加,这是 Amazon ECS Container Agent 的工作在每个实例上向您创建和命名的集群注册自己,请参阅 conceptslifecycle详情。为此,您需要按照 Launching an Amazon ECS Container Instance 中列出的步骤进行操作。 ,无论是手动还是通过自动化。请注意第 10 步:

By default, your container instance launches into your default cluster. If you want to launch into your own cluster instead of the default, choose the Advanced Details list and paste the following script into the User data field, replacing your_cluster_name with the name of your cluster.

#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
  1. 您只需要一个实例即可让 ECS 正常工作,因为集群本身由 AWS 代您管理。但是,这对于高可用性场景来说是不够的:

    • 因为容器主机只是普通的亚马逊EC2实例,您需要遵循 AWS 最佳实践并将它们分布在两个或三个 Availability Zones (AZ)这样 AZ 的(罕见)中断不会影响您的集群,因为 ECS 可以将您的容器迁移到不同的主机实例(前提是您的集群有足够的备用容量)。
    • 许多促进容器的高级集群技术都有自己的服务编排层,并且通常需要奇数 >= 3(服务)实例来实现高可用性设置。您可以在 Administration 中的最佳集群大小部分阅读更多相关信息。例如(另见 Running CoreOS with AWS EC2 Container Service)。
  2. 这又回到了2中提到的高可用性和服务编排主题。已经,更准确地说你面临着service discovery的问题。 ,即使在使用一般容器技术,特别是微服务时,这种情况也变得更加普遍:

关于amazon-web-services - 如何理解 Amazon ECS 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31554590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com