
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ecs-cluster-scaledown 是一款用于自动缩减ECS集群的工具,旨在解决单向扩容(仅允许扩容)场景下集群过度配置的问题。当ECS集群因长期运行任务(持续时间不确定,难以常规缩容)仅启用扩容时,易导致资源浪费。该工具通过自动化流程缩减集群规模,包括检查实例状态、按负载排序实例、将指定数量实例置为DRAINING状态并在满足条件时终止,从而优化资源利用率。
适用于以下场景:
| 参数 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
--cluster-name | ECS集群名称 | 是 | - |
--count | 缩减实例数量 | 否 | 1 |
--instance-ids | 需移除的实例ID列表(空格分隔) | 否 | - |
--ignore-list | 检查运行任务时忽略的任务列表(空格分隔) | 否 | - |
--alarm-name | 检查缩容前置条件的告警名称(仅告警状态为ALARM时执行) | 否 | - |
--region | 集群所在AWS区域 | 是 | - |
--profile | AWS CLI配置文件名称 | 否 | - |
--verbose | 开启DEBUG日志 | 否 | - |
--dryrun | 模拟操作,不实际变更集群 | 否 | - |
1. 拉取镜像
bashdocker pull docker.xuanyuan.run/signiant/ecs-cluster-scaledown
2. 基础缩容示例(dryrun模式)
模拟缩减集群test-cluster中2个实例,不实际执行变更:
bashdocker run \ docker.xuanyuan.run/signiant/ecs-cluster-scaledown \ --cluster-name test-cluster \ --count 2 \ --region us-east-1 \ --dryrun
3. 使用AWS访问密钥缩容
通过访问密钥认证,基于告警状态缩减1个实例(默认count=1):
bashdocker run \ -e AWS_ACCESS_KEY_ID=your_access_key \ -e AWS_SECRET_ACCESS_KEY=your_secret_key \ docker.xuanyuan.run/signiant/ecs-cluster-scaledown \ --cluster-name test-cluster \ --region us-east-1 \ --alarm-name "Cluster scale down alarm"
4. 指定忽略任务列表
缩减时忽略LogspoutTask任务,仅当实例无其他运行任务时移除:
bashdocker run \ docker.xuanyuan.run/signiant/ecs-cluster-scaledown \ --cluster-name test-cluster \ --region us-east-1 \ --ignore-list LogspoutTask
5. 移除指定实例ID
移除指定ID的实例(需已处于DRAINING状态):
bashdocker run \ docker.xuanyuan.run/signiant/ecs-cluster-scaledown \ --cluster-name test-cluster \ --region us-east-1 \ --instance-ids i-0x1x2x3x4x5x6x7x8 i-0x2x3x4x5x6x7x8x9
6. 清除DRAINING状态实例(不缩容集群)
指定count=0仅清除DRAINING状态实例,不额外缩减集群:
bashdocker run \ docker.xuanyuan.run/signiant/ecs-cluster-scaledown \ --cluster-name test-cluster \ --region us-east-1 \ --ignore-list LogspoutTask \ --count 0
--instance-ids时,实例必须已处于DRAINING状态,否则无法移除。--alarm-name时,工具会先检查告警状态是否为“ALARM”,非ALARM状态将直接退出。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务