amazon-web-services - 如何使用 ECS 和 EC2 实例集群实现零停机部署
问题描述
我有一个带有默认容量提供程序的集群,其中包含一个“t2.small”。我还设置了 ALB。一切正常。但是当我尝试更新我的 TaskDefinition 时,默认行为应该是:
- 使用该 NEW TaskDefinition 创建一个容器实例
- 当 NEW 准备好时,在 ALB 中注册它并向它发送 HTTP 流量
- ALB 开始排空与 OLD TaskDefinition 的容器实例的连接
- 杀死 OLD 容器实例。
*** 我假设desiredCount:1,deploymentMinimumHealthyPercent:100,deploymentMaximumPercent:200。
但问题是我的实例类型只提供 3 个 ENI,而当网络模式awsvpc
如此时,我只能拥有 2 个容器实例。我将网络模式更改为,bridge
但现在它发生冲突,因为在放置更新任务时,新容器实例与旧容器实例冲突,因为它们使用相同的端口。使用 Fargate 服务我没有这个问题。我应该如何解决这个问题以实现零停机部署
解决方案
推荐阅读
- amazon-web-services - 手动触发 CloudWatch 事件警报
- selenium - 对于 W3C WebDriver“从元素中查找元素”命令,如何格式化请求 URL 中的元素 ID?
- java - 如何与箱子互动以打开它(我的世界 1.16.5)
- python - 将视频帧从 python 套接字服务器发送到 c# 客户端
- mongoose - GraphQL | Mongoose - 文档的所有权和权限
- javascript - 启动 Apollo 服务器
- asp.net-core - 从 ASP.NET Core 调用节点服务
- html - 悬停时的 HTML/CSS 侧面下拉菜单不显示任何内容
- python - 有没有更好的方法来聚合同一分组熊猫数据帧上的多个列?
- mongodb - 如何从数组中获取单个项目并将其显示为对象?而不是作为数组MongoDB