Получение ошибки «RESOURCE: MEMORY» на новом кластере в AWS-ECS - PullRequest
0 голосов
/ 31 января 2019

Я установил новый кластер группы с помощью ecs-cli на AWS со следующими командами:

Настройка кластера : ecs-cli configure --cluster имя_кластера --region имя_региона -default-launch-type EC2 --config-name имя_конфигурации

Использовать профиль по умолчанию : ecs-cli configure default --config-name config_name

Создать кластер: ecs-cli up - имя ключа пары --capability-iam - размер 1 - тип экземпляра t2.micro - группа безопасности sg_id --vpc vpc_id --subnets subnet_id --cluster-config имя_конфигурации

Кластер был успешно создан в ECS.Но когда я пытаюсь запустить свой файл docker-compose для запуска контейнеров томов данных jenkins и jenkins (уже отправленных в ECR), я получаю ошибку «RESOURCE: MEMORY», даже если загрузка ЦП и памяти составляет 0%.

Развертывание составного файла Docker в кластер : ecs-cli compose up --cluster-config config_id

Фактический результат:

WARN [0000] Пропуск неподдерживаемой опции YAML для службы ... имя опции = имя сетевой службы = jenkins WARN [0000] Пропуск неподдерживаемой опции YAML для службы ... имя опции = имя службы сети = jenkins_dv INFO [0000] Использование определения задачи ECSTaskDefinition = "aws-infra: 4" INFO [0000] Не удалось запустить контейнеры причина = "RESOURCE: MEMORY"

    jenkins:
      image: jenkins:latest
      cpu_shares: 50
      mem_limit: 524288000
      ports: ["8080:8080", "50000:50000"]
      volumes_from: ['jenkins_dv']
    jenkins_dv:
      image: jenkins_dv:latest
      cpu_shares: 50
      mem_limit: 524288000   

Даже когда я запускаю docker, создаю файл после удаления cpu_shares иmem_limits (поскольку это не требуется для экземпляров EC2), я получаю ту же ошибку.Поскольку кластер является новым и не использует ЦП или память, задачи должны быть успешно созданы.Что я тут не так делаю?

1 Ответ

0 голосов
/ 01 февраля 2019

У меня есть решение этой проблемы.Я выделил ограничение памяти в 500 МБ (в байтах) для обоих контейнеров.Согласно документации AWS tc.micro имеет 1 ГБ памяти, но если вы откроете свой экземпляр (Cluster> EC2 Instance> экземпляр контейнера) и просмотрите распределение памяти, фактическая выделенная память будет немного меньше 1 ГБ.Я обновил свой файл и дал ограничение памяти в 250 МБ (в байтах) обоим контейнерам, и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...