gpt4 book ai didi

amazon-web-services - 适用于 AWS 的 Docker 与 EC2 上的纯 Docker 部署

转载 作者:行者123 更新时间:2023-12-04 08:11:19 26 4
gpt4 key购买 nike

目的是使用 swarm 对 8 个容器应用程序进行生产级部署。

看起来(除了 ECS)我们面临着 2 个选择:

  • 使用所谓的docker-for-aws它通过 cloudformation 模板进行(群)配置。

  • 照常设置我们的 VPC,安装 docker 引擎,引导 swarm(通过 init/join 等)并将我们的应用程序部署在普通 EC2 实例中。

这两种方法之间的唯一区别是 docker-for-aws 执行的集群引导吗?

与普通的 AWS VPC 配置相比,docker-for-aws 还有其他优势吗?

谢谢

最佳答案

如果您需要提供跨不同云提供商的可移植性 - 使用 Docker 团队提供的 AWS CloudFormation 模板。如果您只需要在 AWS 上运行 - ECS 应该没问题。但是您需要花一些时间来弄清楚服务发现是如何工作的。 Swarm 的好处是它们变得相当简单,只需通过服务名称访问您的服务,就像它们是具有内置负载平衡的 DNS 名称一样。

使用它自动创建新环境相当容易,如果您稍后需要使用 Azure 或 Google Cloud - 您只需使用它们的模板即可准备好 Docker 集群。

Docker 团队已经在该模板中添加了很多内容,除非确实必要,否则您真的不想自己重新创建它们。例如,如果您的基础设施不使用静态 IP(相当典型的场景),并且其中一位管理器死亡 - 您不能只是重新启动它。您需要手动将其重新加入集群。 Docker for AWS 通过 DynamoDB 的 IP 同步来处理该问题,并使用其他提供商特定的技术来使故障转移/恢复顺利进行。另一个例子是日志记录 - 它们会自动将您的日志推送到 CloudWatch,这非常方便。

如果您使用 Swarm 模板,有关自动化环境配置的一些提示:

  1. 使用一些基础设施自动化工具为每个环境创建 VPC。使用该工具提供的一些模板,这样您就不必自己编写太多内容。使用单独的 VPC 使所有环境都非常隔离并且更易于使用,从而减少出现问题的机会。此外,您以后可能会向这些环境中添加更多元素,例如 RDS。如果您控制 VPC 创建,则可以更轻松地将所有相关资源保留在同一个资源下。假设 DEV1 环境的数据库位于 DEV1 VPC
  2. 连接 docker 提供的正在运行的 AWS Cloud Formation 模板,以在此 VPC 内配置 Swarm 集群(他们有一个单独的模板)

我对自动化的偏好是 Terraform。它让我能够描述基础设施的理想状态,而不是如何实现它。

关于amazon-web-services - 适用于 AWS 的 Docker 与 EC2 上的纯 Docker 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46361911/

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