gpt4 book ai didi

amazon-ecs - 使用 CodePipeline 时如何控制 ECS 部署的内存和 CPU 占用空间

转载 作者:行者123 更新时间:2023-12-03 17:13:28 26 4
gpt4 key购买 nike

TL;DR:部署面向 ECS 的 CodePipeline 后,如何更改内存和 CPU 要求(或指定 ECS 任务定义的任何细节)?

我已经创建了一个部署 ECS 容器的 CodePipeline。为此,我的构建步骤生成了一个名为 imagedefinitions.json 的文件:

[
{
"name": "idws",
"imageUri": "xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/xxx/idws-dev:latest"
}
]

(xxx 代表隐私,但你明白了)。

但是,此图像定义文件不支持在 ECS 任务定义中找到的所有详细信息。它只允许指定容器 URI。任务配置来自哪里?

我发现特别奇怪的是,直到我在 ECS 中手动创建一个任务定义,该任务定义的容器名称与图像定义文件中显示的名称相同,此管道才完全不起作用。这个未记录的要求让我假设 CodePipeline 以某种方式从服务继承了任务定义详细信息,这很烦人但并非不可能解决,除了:如果您尝试更改任务定义,下次管道运行时所有任务定义详细信息将恢复到创建管道时配置的任务定义。 CodePipeline 或 ECS 的说明均未对此进行解释。

最佳答案

我已经使用 Codepipeline ECS 部署了相当多的跨账户 ECS 集群。与您的设置不同的是,我在代码管道之前通过 Terraform 或 Cloudformation 创建了 ECS 集群(以及任务定义、服务、ECR 存储库、ELB 等)。

一旦存在集群和任务定义,codepipeline 仅更新任务定义中的“图像”url,创建新版本并使用此定义部署新任务。

单独创建集群对我来说很有效,因为我不需要在每次管道运行时都创建集群/服务/负载均衡器/自动缩放策略/规则等。这是我用来创建 ECS cluster (& other things it needs) 的模板和 code pipeline , 如果有帮助的话!

关于amazon-ecs - 使用 CodePipeline 时如何控制 ECS 部署的内存和 CPU 占用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54450005/

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