EC2实例未加入ECS群集

时间:2016-10-19 09:06:13

标签: amazon-web-services amazon-ec2 amazon-ecs

我有一个EC2群集,我正在尝试添加EC2机器。

我已使用用户数据ECS_CLUSTER=cluster_name添加到/etc/ecs/ecs.config,但该实例未加入群集。

我正在查找日志文件或群集加入过程的任何其他证据,这些证据可能表明我的实例未加入的原因。我没有/var/log/ecs文件夹。

3 个答案:

答案 0 :(得分:0)

您需要使用ECS AMI,

或者您需要安装ECS代理

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.html

然后你需要在更改配置后启动/重启ecs代理

restart ecs

答案 1 :(得分:0)

重新启动ECS不能解决问题。

就我而言,我查看以下日志

/var/logs/ecs

tail -f ecs-agent.log.2018-09-05-15

所以我注意到

2018-09-05T15:26:22Z [ERROR] Could not register: NoCredentialProviders: no valid providers in chain. Deprecated.
    For verbose messaging see aws.Config.CredentialsChainVerboseErrors

只需分配ECS角色和在集群中注册的实例即可。

也许这个答案有帮助。

答案 2 :(得分:0)

除了我的与我在设置第一个集群时发现的配置选项有关,这里的交易是相同的。我从https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html

中找到的ec2实例指定了传播标签
# ecs.config
ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance`

日志输出表明我的ECS EC2环境变量正在请求新功能集:Error registering: InvalidParameterException: Long arn format must be enabled for tagging.

在谷歌搜索后,我发现了如下所述的问题:https://github.com/terraform-providers/terraform-provider-aws/issues/10762#issue-518401992

解决方案

您需要配置特定的用户范围或以root身份执行操作。

  1. 以root身份进入您的Web控制台。
  2. 前往ECS
  3. 在左侧导航窗格中选择Account Settings
  4. 启用较新的arn格式选项。就我而言,我启用了所有这些功能。

enter image description here

  1. 注销,以非root用户身份登录并重新启动ec2实例。