У меня есть собственный AMI ECS, работающий под управлением Debian 10. Я запускаю ECS-Agent как контейнер, как это предлагается в документах здесь . Все работает нормально.
Недавно меня попросили интегрировать EFS в кластер, чтобы контейнеры, выполняемые в рамках определенных c задач, имели доступ к общему постоянному хранилищу.
Я добавил efs-utils в сборку AMI, как описано в git repo . Экземпляры сами теперь автоматически подключаются к EFS при загрузке, и пользователи на экземплярах могут читать / записывать на монтирование EFS.
Однако задачи, настроенные на использование параметра efsVolumeConfiguration
в не удается разместить определение объема задачи; старая добрая ошибка Container instance missing required attribute
.
Поскольку сами экземпляры не имеют проблем с подключением к EFS при загрузке, я реализовал обходной путь, используя обычные тома docker, поэтому контейнеры, работающие в задаче, монтируют EFS на хост через обычный том docker, но я бы предпочел, чтобы интеграция ECS -> EFS работала правильно.
Когда я запускаю команду ECS-CLI 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
И действительно, в консоли, когда я go cluster
-> instances
-> specific-instance
-> actions
-> view/edit attributes
, все ecs.capability.xxx
содержат пустые значения.
Когда заполняются эти значения? Как мне улучшить сборку AMI, чтобы эти значения были заполнены правильными значениями?
Сообщите мне, если вам понадобится дополнительная информация. Заранее спасибо!