缺少容器属性

时间:2017-08-23 19:23:44

标签: amazon-web-services amazon-ec2 amazon-ecs rancher

我在ECS集群中运行支持RancherOS ECS的AMI v1.0.4的EC2实例。

实例加入群集,但ECS任务无法启动,因为容器实例缺少任务所需的属性。

无法启动的ECS任务具有IAM角色并且需要com.amazonaws.ecs.capability.task-iam-role属性。在检查容器实例具有哪些属性(使用cli aws ecs describe-container-instances)之后,可以看到缺少此必需属性。

当我从任务中删除IAM角色时,它就会正常运行。

当我使用Amazon ECS优化的AMI运行实例时,一切正常。

我关注official RancherOS ECS guide,包括验证ECS容器实例IAM角色,但没有成功。

1 个答案:

答案 0 :(得分:0)

查看ECS代理的源代码后,很明显默认情况下禁用此功能。 为了启用它,环境变量ECS_ENABLE_TASK_IAM_ROLE应该具有值true

将其添加到cloud-config文件可以完成任务:

#cloud-config
rancher:
  environment:
    ECS_ENABLE_TASK_IAM_ROLE: true