我正在使用AWS ECS启动容器以运行自动化测试,并且由于它们是由不同事件触发的,因此无法事先知道其数量。
出于某些配置原因,我只能以EC2
模式(而不是FARGATE
)启动这些任务,
问题是:我需要向正在运行的任务中添加新容器,但我无法实现这一目标,我发现的唯一方法是为每个新容器启动一个新任务,但是这种解决方案在某些情况下非常昂贵案例。
我正在使用boto3
来启动新的任务和容器,我与您分享以下这部分代码来做到这一点:
client = boto3.client('ecs', region_name="eu-west-1")
networkConfiguration = {
'awsvpcConfiguration': {
'subnets': ['subnet-01', 'subnet-06'],
}
}
resp = client.run_task(
cluster='run-on-demand',
launchType='EC2',
taskDefinition="task-01-ec2",
networkConfiguration=networkConfiguration,
overrides={
'containerOverrides': [
{
'name': "task-01-c1-ec2",
'environment': env_vars,
'cpu': 512,
'memory': 2048
}
],
},
startedBy="admin",
count=1
)
所以我的问题是:有什么方法可以将新容器添加到正在运行的任务中?
答案 0 :(得分:0)
简短答案:不可能,因为容器仅在任务创建时定义。