Совместное использование файлов с ECS и EFS - PullRequest
0 голосов
/ 02 марта 2020

Не могли бы вы мне помочь, пожалуйста?

Я пытаюсь настроить кластер ECS для обмена файлами с использованием EFS, но у меня возникает следующая проблема:

level=info time=2020-03-02T17:30:27Z msg="TaskHandler: Sending task change: TaskChange: 
[arn:aws:ecs:us-east-1:959242800104:task/74086a36-c405-4248-8475-3234b011bee8 -> STOPPED, Known 
Sent: NONE, PullStartedAt: 2020-03-02 17:30:27.661062367 +0000 UTC m=+3131.201879282, 
PullStoppedAt: 2020-03-02 17:30:27.744492758 +0000 UTC m=+3131.285309673, ExecutionStoppedAt: 
2020-03-02 17:30:27.913073824 +0000 UTC m=+3131.453890739, 
arn:aws:ecs:us-east-1:959242800104:task/74086a36-c405-4248-8475-3234b011bee8 redmine -> STOPPED, Reason 
CannotCreateContainerError: Error response from daemon: failed to mount local volume: mount 
:/mnt/efs/redmine:/var/lib/docker/volumes/ecs-redmine-22-attachments-cee2f0e7e0ebc5f55000/_data,
 data: addr=10.0.0.127,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport: 
no such file or directory, Known Sent: NONE] sent: false" module=task_handler_types.go

Если я объявлять только том в моей задаче ECS, контейнер запускается нормально, но если я пытаюсь сопоставить внешний том с папкой контейнера, возникает проблема.

Я следовал этому руководству: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_efs.html и, похоже, проблема не в группах безопасности, а в самом контейнере.

Я использую альпийскую версию Redmine.

Следуйте фрагментам конфигурации:


  ...
  "mountPoints": [
        {
          "readOnly": null,
          "containerPath": "/usr/src/redmine/files",
          "sourceVolume": "attachments"
        }
      ],

  ...

  "volumes": [
    {
      "efsVolumeConfiguration": {
        "fileSystemId": "fs-xxxxx",
        "rootDirectory": "/mnt/efs/redmine"
      },
      "name": "attachments",
      "host": null,
      "dockerVolumeConfiguration": null
    }
  ],

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Я перешел по этим ссылкам, чтобы решить мою проблему. Я думал, что EFS не готова к использованию в ECS.

Мне пришлось сопоставить EFS внутри EC2, и после этого у меня был доступ из контейнера docker.

https://gist.github.com/duluca/ebcf98923f733a1fdb6682f111b1a832#update - ваш-формирование облака-шаблон

https://xiaoyunyang.github.io/post/a-complete-guide-to-deploying-your-web-app-to-amazon-web-service/#set -up-efs-with-your-container

0 голосов
/ 11 марта 2020

В журнале написано: «нет такого файла или каталога»: убедитесь, что каталог на efs существует, прежде чем использовать его.

Другие соображения: Вы не можете использовать «efsVolumeConfiguration» с ECS-Fargate. В настоящее время только для ECS-on-EC2 (готовится поддержка Fargate).

...