AWS В экземпляре ECS отсутствует атрибут ecs.capability.efsAuth - PullRequest
0 голосов
/ 17 июня 2020

У меня есть собственный 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, чтобы эти значения были заполнены правильными значениями?

Сообщите мне, если вам понадобится дополнительная информация. Заранее спасибо!

1 Ответ

0 голосов
/ 18 июня 2020

Я не уверен, поддерживается ли эта функция использования EFS с ECS в системах на основе Debian, поскольку документация 1 не предоставляет команд для Debian.

Тем не менее, попробуйте следующие шаги:

  1. Установите утилиты efs и включите amazon-ecs-volume-plugin 1
  2. Добавьте тег вручную : 2
    • Имя = ecs.capability.efsAuth
    • Значение = <empty>
...