Агент Amazon ECS в Ubuntu не запускается - PullRequest
0 голосов
/ 05 июля 2018

В настоящее время я пытаюсь создать пользовательский Ubuntu AMI для пакета AWS и следую документу, упомянутому здесь https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.html

Однако, когда я пытаюсь запустить агент настройки на этой машине, он всегда выдает мне эту ошибку

2018-07-04T23:34:01Z [INFO] Amazon ECS agent Version: 1.18.0, Commit: c0defea9
2018-07-04T23:34:01Z [INFO] Loading state! module="statemanager"
2018-07-04T23:34:01Z [INFO] Event stream ContainerChange start listening...
2018-07-04T23:34:01Z [INFO] Creating root ecs cgroup: /ecs
2018-07-04T23:34:01Z [INFO] Creating cgroup /ecs
2018-07-04T23:34:01Z [WARN] Disabling TaskCPUMemLimit because agent is unabled to setup '/ecs' cgroup: cgroup create: unable to create controller: mkdir /sys/fs/cgroup/systemd/ecs: read-only file system
2018-07-04T23:34:01Z [WARN] Error getting valid credentials (AKID ): NoCredentialProviders: no valid providers in chain. Deprecated.
    For verbose messaging see aws.Config.CredentialsChainVerboseErrors
2018-07-04T23:34:01Z [INFO] Registering Instance with ECS
2018-07-04T23:34:01Z [ERROR] Could not register: NoCredentialProviders: no valid providers in chain. Deprecated.
    For verbose messaging see aws.Config.CredentialsChainVerboseErrors
2018-07-04T23:34:01Z [ERROR] Error registering: NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors

Я удостоверился, что экземпляр имеет ecsInstanceRole, связанный с этим. Ребята, дайте мне знать, что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Я столкнулся с теми же сообщениями. Вам необходимо создать роль IAM и запустить экземпляр с этой ролью согласно этой документации: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html

0 голосов
/ 26 июля 2018

Не уверен, как вы запускаете ecs-agent. Наткнулся на ошибку

Disabling TaskCPUMemLimit because agent is unabled to setup '/ecs cgroup: cgroup create: unable to create controller: /sys/fs/cgroup/systemd/ecs: read-only file system

Мы решили эту проблему, добавив том --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro в системный файл systemd, который у нас был при запуске ecs.

Кроме этого, я предполагаю, что проблема связана с ecsInstanceRole. Можете ли вы проверить, что он имеет следующие разрешения? AmazonEC2ContainerRegistryFullAccess, AmazonEC2ContainerServiceFullAccess, AmazonEC2ContainerServiceforEC2Role

Ниже приведен полный системный файл для ecs-agent.

[Unit]
Description=Docker Container %I
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStartPre=-/usr/bin/docker rm -f %i
ExecStart=/usr/bin/docker run --name %i \
--restart=on-failure:10 \
--volume=/var/run:/var/run \
--volume=/var/log/ecs/:/log:Z \
--volume=/var/lib/ecs/data:/data:Z \
--volume=/etc/ecs:/etc/ecs \
--volume=/sys/fs/cgroup:/sys/fs/cgroup:ro \
--net=host \
--env-file=/etc/ecs/ecs.config \
--env LOGSPOUT=ignore \
amazon/amazon-ecs-agent:latest
ExecStop=/usr/bin/docker stop %i

[Install]
WantedBy=default.target
...