如何为 Fargate 任务定义指定操作系统系列?
Posted
技术标签:
【中文标题】如何为 Fargate 任务定义指定操作系统系列?【英文标题】:How to specify an operating System Family for Fargate task definition? 【发布时间】:2022-01-09 04:35:46 【问题描述】:我正在使用 terraform 创建 Fargate 任务定义,但在指定运行时平台版本时遇到了一些困难。根据 AWS 的docs
任务定义operatingSystemFamily
属性确实存在。它的默认值为LINUX
。我想将其更改为 Windows Server 2019 Core
,因为我想在 Fargate 上使用 Windows 容器。
话虽如此,我无法在 Terraform 的 aws_ecs_task_definition 资源文档中找到它。
这是我的任务定义:
resource "aws_ecs_task_definition" "transform_service"
family = "$var.app_name-transform-service-task"
network_mode = "awsvpc"
requires_compatibilities = ["FARGATE"]
cpu = 2 * 1024 #2 vCPU
memory = 16 * 1024 # 16GB
execution_role_arn = aws_iam_role.transform_service_task_execution_role.arn
container_definitions = jsonencode([
name = "transform-service-container-$var.environment"
image = "$var.transform_service_repository_url:latest"
essential = true
environment = [
"name" : "DOTNET_ENVIRONMENT", "value" : "Development"
]
,
])
【问题讨论】:
这很有趣。我在 TF 文档或任何示例中找不到。但是,您可以为 CloudFormation 找到它作为运行时平台。 docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/… 【参考方案1】:尚不支持。 GitHub issues 已经存在:
aws_ecs_task_definition missing runtimePlatform #21984 Add support for FARGATE Windows Containers and ARM based Containers准备好公关:
Add support for FARGATE Windows Containers and ARM based Containers【讨论】:
非常感谢,马辛!现在这是有道理的。我在 Terraform github 页面上搜索了问题,但找不到它 我检查了aws_ecs_service
terraform 资源,它似乎也没有该属性。我在这里打开了一个问题:github.com/hashicorp/terraform-provider-aws/issues/22033以上是关于如何为 Fargate 任务定义指定操作系统系列?的主要内容,如果未能解决你的问题,请参考以下文章