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

Posted

技术标签:

【中文标题】Amazon ECS:对于 Jenkins amazon-ecs-plugin 的给定值不存在 Fargate 配置【英文标题】:Amazon ECS: No Fargate configuration exists for given values for Jenkins amazon-ecs-plugin 【发布时间】:2018-11-04 04:30:36 【问题描述】:

我正在尝试使用最近发布的支持 Fargate 的 amazon-ecs-plugin:1.15,但我遇到了错误。

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

【问题讨论】:

【参考方案1】:

添加到user6327093's answer

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

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

这是我修复它的方法

对于托管在 Fargate 上的任务,您必须遵守以下受支持的任务 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)

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

资源:Invalid CPU or memory value specified

就是这样

【讨论】:

【参考方案2】:

检查您的 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

【讨论】:

这对我使用 terraform 有效 - 错误消息是相同的“给定值不存在 Fargate 配置” 这也对我有用。没有意识到 CPU 和内存值之间存在约束。

以上是关于Amazon ECS:对于 Jenkins amazon-ecs-plugin 的给定值不存在 Fargate 配置的主要内容,如果未能解决你的问题,请参考以下文章

Exception in thread "main" java.io.IOException: com.amazon.ws.emr.hadoop.fs.shaded.com.ama

错误 CS0030:无法在 Amazon Web Service 中将类型“Simple.Amazon.ECS.ImageSet[]”转换为“Simple.Amazon.ECS.ImageSet”

詹金斯可扩展亚马逊ECS从零开始

使用 docker compose 在 Amazon ECS 上部署应用程序

Amazon AWS ECS Docker 端口未正确绑定

Amazon ECS 未扩展实例