对于 Jenkins amazon-ecs-plugin 的给定值不存在 Fargate 配置

问题描述 投票:0回答:3

我正在尝试使用最近发布的 amazon-ecs-plugin:1.15,它支持 Fargate,但出现以下错误。

WARNING: Slave {0} - Cannot create ECS Task
May 24, 2018 1:10:39 PM hudson.slaves.NodeProvisioner$2 run
WARNING: Unexpected exception encountered while provisioning agent ECS Slave ecs-jenkins-slave
com.amazonaws.services.ecs.model.ClientException: No Fargate configuration exists for given values. (Service: AmazonECS; Status Code: 400; Error Code: ClientException; Request ID:****-****)

Here is my config

jenkins amazon-ecs
3个回答
72
投票

检查您的CPU和内存数量;您需要遵循特定的组合:

CPU value       Memory value (MiB)
256 (.25 vCPU)  512 (0.5GB), 1024 (1GB), 2048 (2GB)
512 (.5 vCPU)   1024 (1GB), 2048 (2GB), 3072 (3GB), 4096 (4GB) 
1024 (1 vCPU)   2048 (2GB), 3072 (3GB), 4096 (4GB), 5120 (5GB), 6144 (6GB), 7168 (7GB), 8192 (8GB) 
2048 (2 vCPU)   Between 4096 (4GB) and 16384 (16GB) in increments of 1024 (1GB) 
4096 (4 vCPU)   Between 8192 (8GB) and 30720 (30GB) in increments of 1024 (1GB) 

参考:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-cpu-memory-error.html


16
投票

添加到user6327093的答案

在尝试使用 Terraform 在 AWS ECS 上创建资源时,我遇到了类似的问题。错误是:

错误:ClientException:给定值不存在 Fargate 配置。

这是我修复它的方法

您必须遵守 Fargate 上托管的任务支持的任务 CPU 和内存值,如下所示。

CPU值 内存值(MiB)
256(0.25 vCPU) 512(0.5GB)、1024(1GB)、2048(2GB)
512(.5 vCPU) 1024(1GB)、2048(2GB)、3072(3GB)、4096(4GB)
1024(1 个 vCPU) 2048 (2GB)、3072 (3GB)、4096 (4GB)、5120 (5GB)、6144 (6GB)、7168 (7GB)、8192 (8GB)
2048(2 个 vCPU) 在 4096 (4GB) 和 16384 (16GB) 之间,以 1024 (1GB) 为增量
4096(4 个 vCPU) 在 8192 (8GB) 和 30720 (30GB) 之间,以 1024 (1GB) 为增量

在我的例子中,CPU4096,而内存是32768(32GB)。但是,从上表来看,Fargate 不支持32768 (32GB)内存,因此我不得不将内存更改为30720 (30GB)

资源指定的 CPU 或内存值无效

仅此而已


0
投票

使用 AWS COPILOT 部署应用程序时,得到:

An ECS task definition to group your containers and run them on ECS              [delete complete]     [3.4s]
    Resource handler returned message: "Invalid request provided: Create T
    askDefinition: **No Fargate configuration exists for given values: 512 C
    PU, 512 memory**. See the Amazon ECS documentation for the valid values.
     (Service: AmazonECS; Status Code: 400; Error Code: ClientException; R
    equest ID: 6db81468-6c2a-404c-a97c-a03d59053523; Proxy: null)" (Reques
    tToken: 9cb92f50-d7a5-6473-6cb4-2073a165bf8b, HandlerErrorCode: Invali
    dRequest)

通过更改相关copilot服务文件夹下的manifest.yml解决: 从“cpu: 512”到“cpu: 256”,如下所示:

# Number of CPU units and memory (in MiB) allocated to each task.
cpu: 256
memory: 512

参考:https://aws.github.io/copilot-cli/docs/manifest/lb-web-service/

CPU 和内存的组合必须如上面的答案:https://stackoverflow.com/a/54526354/3502900

© www.soinside.com 2019 - 2024. All rights reserved.