AWS ECS代理在启动时找不到/etc/resolv.conf,无法将实例添加到ECS群集
我正在尝试按照此处的说明将实例添加到我的AWS ECS群集。
所以我:
- 为自动缩放实例( AMI : ami-a28476c2 us-west-2 )创build了自动缩放启动configuration
- 该实例从自动缩放组引导,没有问题,但从不join我的ECS集群
default
因为文档说应该。 -
我把这个实例join到日志中,并看到:
[ec2-user @ ip-172-31-47-157〜] $ cat /var/log/ecs/ecs-init.log.2016-05-10-03 2016-05-10T03:31:21Z [INFO]预启动2016-05-10T03:31:22Z [INFO] start 2016-05-10T03:31:22Z [INFO]没有现有代理容器要删除。 [错误]无法启动代理程序:API错误(500):无法启动容器dbee780d6770f62afc3266ba14b77957a5e6054f94e89b2ced77f9636c4be64b:打开/ etc / resolv.conf:没有这样的文件或目录
所以它看起来像ECS代理失败,因为它找不到/etc/resolv.conf
。 我不知道为什么这是因为我逐字跟踪文档。
有没有人试过这个? 我不知道如何去debugging这个。
我解决了这个问题。 使用这个页面上的帮助,我发现有些东西(不知道是什么原因)阻止了这个实例。
在我的自动调节启动configuration中,我将下面的代码添加到user-data
部分:
#!/bin/bash echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf
这会创build缺less的文件( /etc/resolv.conf
)并告诉实例使用Google DNS服务器(大概是任何你想要的DNS服务器)。
现在所有的作品都很棒。