ECS 部署监测器
ECS部署监测员将帮助你监测向ECS处部署新任务定义的情况。 它不能自行部署.
它的主要用途是确定何时部署失败。 当任务中的容器未能启动时,ECS会终止任务并开始新的任务. 在您的应用程序版本无法启动之前, 这是一个伟大的功能 。 在这种情景下,ECS将继续无限期地开始并停止任务,同时使你没有比你部署失败更明智,你的应用程序的旧版本仍在运行.
该监测器利用目标群体目标的健康状态来确定一项任务是否健康。 因此,假定使用应用程序负载平衡器或网络负载平衡器,没有这个显示器,这个显示器就无法工作.
安装
与国家预防机制安装软件包. 注: 我们把包裹移到我们下面了
bugcrowd 国家预防机制组织 -- -- 这将是维持的唯一一揽子地点
继续前进.
npm install @bugcrowd/ecs-deployment-monitor --save
删除 --save 并添加 -g 如果您想要使用 CLI 版本, 则要向全球安装 .
确保您以下列 IAM 权限运行监视器 :
ecs:DescribeContainerInstances
ecs:DescribeServices
ecs:DescribeTasks
ecs:ListContainerInstances
ecs:ListTasks
elasticloadbalancing:DescribeTargetHealth
可能的部署国
无果
未找到匹配任务定义的部署
未显示
新部署已经建立。 这一部署已不再部署.
已创建
已经建立部署,但没有开展其他活动.
任务开始
新的任务已经开始,但还没有健康.
任务失败
未启动的任务数已超过设定的失败阈值 。 默认25%.
现场直播
如应用程序载重平衡器上的目标所报告,所有新任务都处于健康状态。 带有旧任务定义修订的工作仍在运行中 .
排水
新的请求将不再用于旧的任务 。 旧任务正在耗尽.
稳住
ECS服务已进入稳定状态
CLI 使用量
如果在全球安装此模块, 则执行文件 ecs-deployment-monitor 应可用
选项
- 组群(需要) - 托管服务的ECS组群
- 服务名称( 需要) - ECS 服务的名称
- 任务定义(需要) -- -- 已部署的ECS任务定义
- 失败阈值(可选) - 触发失败部署的预期任务的失败任务百分比。 默认为25%。 等待着浮出水面 语法
.50代表50%的门槛值
$ ecs-deployment-monitor \
--cluster xxx \
--service-name xxx \
--task-definition xxx
示例输出

部署失败

部署失败后,将使用非零退出代码退出。 下列州被失败部署:
- 任务失败将退出, 退出代码为 1
- NotFound将退出,退出代码为2
- Usurped 将退出,退出代码为 3
模块使用
const monitor = require('ecs-deployment-monitor');
let deployment = monitor({
serviceName: 'name',
clusterArn: 'arn::cluster',
taskDefinitionArn: 'arn::task-definition',
});
deployment.on('error', (error) => console.log(error));
deployment.on('state', (state) => console.log(state));
deployment.on('end', (state) => console.log('DONE'));