Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services ubuntu上的Amazon ECS代理未启动_Amazon Web Services_Amazon Ec2_Amazon Ecs_Aws Batch - Fatal编程技术网

Amazon web services ubuntu上的Amazon ECS代理未启动

Amazon web services ubuntu上的Amazon ECS代理未启动,amazon-web-services,amazon-ec2,amazon-ecs,aws-batch,Amazon Web Services,Amazon Ec2,Amazon Ecs,Aws Batch,我目前正在尝试为AWS批处理构建一个定制的ubuntu ami,并遵循这里提到的文档 然而,当我试图在那台机器上启动docker代理时,它总是给我这个错误 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]

我目前正在尝试为AWS批处理构建一个定制的ubuntu ami,并遵循这里提到的文档

然而,当我试图在那台机器上启动docker代理时,它总是给我这个错误

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。
你们能告诉我我遗漏了什么吗?

不确定如何启动ecs代理。误会

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添加到启动ecs的systemd单元文件中来解决这个问题

除此之外,我假设问题在于
ecsInstanceRole
。您能否验证它是否具有以下权限
AmazonEC2ContainerRegistryFullAccess
AmazonEC2ContainerServiceFullAccess
AmazoneC2ContainerServiceForc2OLE

以下是ecs代理的完整systemd文件

[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

我遇到了同样的消息。您需要创建IAM角色并使用该角色启动实例,请参见本文档:

有关专业服务器或网络相关基础架构管理的问题,除非直接涉及编程或编程工具,否则与堆栈溢出无关。您可能可以获得有关的帮助。您好,我遇到了相同的问题,并按照您的步骤操作,但出现了一个新错误:
level=warn time=2020-11-25T11:01:59Z msg=“App:task from state file与TaskCPUMemLimit设置不兼容,因为它未使用ecs的cgroup层次结构:arn:aws:ecs:eu-west-1:87803828002:task/ecs应用程序集群/919b61d3ca384c37a3ed4a3de159994a”module=agent_compatibility\u linux.go
level=warn time=2020-11-25T11:01:59Z=“msg:App:disabletaskcpumlimit。“module=agent\u compatibility\u linux.go
还有人看到过吗?我只是编辑并重新启动了ecs服务,这导致了上面发布的警告。我更改了源代码,重建并部署了它,错误消失了。可能是缓存问题。谢谢