我正在ECS集群中运行EC2实例,其中包含启用了RancherOS ECS的AMIv1.0.4。
实例加入集群,但ECS任务无法启动,因为容器实例缺少任务所需的属性。
无法启动的ECS任务具有IAM角色,需要com.amazonaws.ecs.capability.task-iam-role属性。在检查容器实例具有哪些属性之后(使用cli aws ecs describe- container -instances),可以看到缺少这个必需的属性。
当我从任务中删除IAM角色时,它启动正常。
当我使用Amazon ECS优化的AMI运行instance时,一切工作正常。
我跟踪了official RancherOS ECS guide,包括验证ECS Container Instance IAM角色,但没有成功。
发布于 2017-08-24 04:20:52
查看ECS代理的源代码后,很明显默认情况下此功能是禁用的。为了启用它,环境变量ECS_ENABLE_TASK_IAM_ROLE应该具有值true。
将其添加到cloud-config文件可以完成以下工作:
#cloud-config
rancher:
environment:
ECS_ENABLE_TASK_IAM_ROLE: truehttps://stackoverflow.com/questions/45847854
复制相似问题