【问题标题】:Have compute-engine vm run scripts when started gcloud启动 gcloud 时让计算引擎 vm 运行脚本
【发布时间】:2019-12-07 22:55:50
【问题描述】:

我正在尝试在 gcloud 上运行 NodeJS 服务器。我使用 gcloud 元数据构建了一个启动脚本。 该脚本似乎没有运行,因为我在日志中没有看到它的证据,我的服务器也没有上线。

当我使用 SSH 连接后运行启动脚本命令时,一切正常。

我必须在 gcloud shell(不是 vm)中做些什么才能在 VM 启动时运行该脚本吗?还是启动命令位于某个文件中?

我已经尝试了一些我在这里看到的不同的东西,但没有一个适用于 Debian 9 (stretch),其他的都不起作用。

我在 /etc 和 /var 中寻找某种命令来执行脚本,但在网上找不到任何东西。

我还查找了 /etc/rc.local,但它不存在。

根据此处的另一篇文章,应该有一个名为 google.startup.script 的文件,但我找不到它。

任何帮助将不胜感激。

【问题讨论】:

  • 1) 首先发布您的脚本。 2) 展示您如何配置脚本以运行。
  • 启动脚本执行的输出也会记录到您的 Compute Engine 虚拟机的“串行控制台”中,您可以在 Cloud Console 中查看您实例的详细信息。
  • 我的脚本包含很多有意义的信息。如果我忽略它,我的大部分脚本都会消失。

标签: google-cloud-platform google-compute-engine


【解决方案1】:

您可以通过实例元数据配置脚本以在 VM 启动时运行:

gcloud compute instances create example-instance \
    --metadata-from-file startup-script=examples/scripts/install.sh

如果您需要更广泛的范围,您可以指定 项目元数据实例元数据 继承它们。请参阅以下链接了解更多信息。

https://cloud.google.com/compute/docs/startupscript

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-27
  • 2014-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多