我有一个定制的ECS,运行Debian 10,我启动ECS作为容器,就像docs 这里中所建议的那样。一切都很好。
最近,有人要求我将EFS集成到集群中,以便在特定任务中运行的容器能够访问共享的持久存储。
我将efs包添加到AMI构建中,正如git回购中所记录的那样。实例本身现在在启动时自动挂载到EFS,实例上的用户可以读取/写入EFS挂载。
但是,配置为在任务卷定义中使用efsVolumeConfiguration参数的任务没有被放置;很好的旧Container instance missing required attribute错误。
因为实例本身在引导时安装到EFS没有问题,所以我已经使用常规的停靠卷实现了一个解决方案,所以任务中运行的容器通过普通的->卷在主机上挂载EFS,但是我希望ECS集成能够正常工作。
当我对集群中的任何实例运行ECS check-attributes命令时,我得到:
ecs-cli check-attributes --task-def my-task --container-instances my-container-instance-id --cluster my-ecs-cluser
Container Instance Missing Attributes
my-container-instance-id ecs.capability.efsAuth实际上,在控制台中,当我进入cluster->instances->specific-instance->actions->view/edit attributes,时,所有的ecs.capability.xxx都包含空值。
这些值是什么时候填充的?我应该如何增强AMI构建,以便用适当的值填充这些值?
如果您需要更多的信息,请告诉我。提前感谢!
发布于 2020-06-18 12:52:45
发布于 2022-06-30 17:57:19
抱歉,我想我很久以前就把这个作为答案了。
答复:@bravinator932421
我想我解决了这个问题。来自github.com/aws//blob/…我看到了设置efsAuth的位置,所以将它放在/etc/ecs/ecs.config: ECS_VOLUME_PLUGIN_CAPABILITIES="efsAuth“的配置文件中是有效的。
这对我也有用。
发布于 2022-09-04 04:21:07
我也遇到了同样的问题,但我在尝试Bottlerocket时遇到了这个问题,它显然不支持加密的EFS挂载。删除传输加密要求修复了它。
https://stackoverflow.com/questions/62438155
复制相似问题