Google compute engine 仅在实例重新启动后执行的启动脚本

Google compute engine 仅在实例重新启动后执行的启动脚本,google-compute-engine,startupscript,Google Compute Engine,Startupscript,我们有一个运行良好的启动脚本,但它只有在重新启动后才能执行 我正在将gcutil更新为gcloud compute,将centos6更新为centos7 我不确定这是否与安全问题有关(SElinux?) 有人能帮我调试一下吗 事实:实例创建时不存在启动脚本日志。 此外,在输出控制台中,它表示没有启动脚本 重新启动后,一切都会正常进行。如果我没有弄错的话,启动脚本只在系统启动/重新启动时执行,因此应该按预期工作。脚本在机器重新启动后执行。如何将其传递到元数据服务器?是GCS bucket中的启动脚

我们有一个运行良好的启动脚本,但它只有在重新启动后才能执行

我正在将gcutil更新为gcloud compute,将centos6更新为centos7

我不确定这是否与安全问题有关(SElinux?)

有人能帮我调试一下吗

事实:实例创建时不存在启动脚本日志。 此外,在输出控制台中,它表示没有启动脚本


重新启动后,一切都会正常进行。

如果我没有弄错的话,启动脚本只在系统启动/重新启动时执行,因此应该按预期工作。脚本在机器重新启动后执行。如何将其传递到元数据服务器?是GCS bucket中的启动脚本、启动脚本url吗?我看到“centos-7-v20141016”在处理启动脚本时出现问题

编辑/usr/share/google/运行启动脚本睡眠30秒有效

只需添加:

睡眠30
(您也可以尝试较低的间隔)

这是解决问题的直接办法,但远不是真正的解决办法


我的线索和我是如何来到这里的,是我的评论。

刚刚在串行控制台中找到的:
localhost运行启动脚本:。。。curl:(6)无法解析主机:metadata.google.internal;未知错误
几秒钟后出现以下情况:
NetworkManager[563]:启动完成
我的实例是否在NetworkManager启动前查询元数据?我怎么解决这个问题?嗨,马吕斯,谢谢你的回答。我正在使用文件中的启动脚本(我可以在元数据中看到完整的脚本)。但我进入这里是因为它和SElinux有关。我还不确定问题的细节,显然有些规则需要很长时间才能配置,也许?禁用SElinux起作用了,我正在阻止通过防火墙的访问。再次发生了@marius,没有任何变化。。。我不知道为什么有时候会发生。。。我无法将其投入生产。首先,我建议您使用centos-7-v20150127或centos-6-v20150127(如果您尚未尝试)。另一件要尝试的事情是在脚本中设置几秒钟的延迟/睡眠,以防您提到的规则配置时间过长。最后,您可以尝试从GCS存储桶运行脚本吗?谢谢马吕斯。试图使用GCS bucket中的脚本无效。我将尝试centos-7-v20150127并与您联系。只需一个细节:如果我运行
sudo/usr/share/google/run startup scripts
,它就会工作(或重新启动虚拟机)。