【问题标题】:Where are GCP VM startup and shutdown scripts copied to?GCP VM 启动和关闭脚本复制到哪里?
【发布时间】:2021-12-30 02:14:14
【问题描述】:

我正在通过 Terraform 创建 GCP VM 实例,并通过元数据提供启动和关闭脚本。我可以看出启动脚本有效,但是当terraform apply 要求销毁实例时,关闭脚本没有运行。

我想检查关闭脚本是否实际复制到服务器,如果我需要调试模板,还可以检查启动和关闭脚本的内容。

在 AWS 上,它们被复制到 /var/lib/cloud/instance 但在我的 GCP 虚拟机上的同一位置下,我在那里看不到我的脚本。还有其他我应该搜索的位置吗?

【问题讨论】:

    标签: google-cloud-platform terraform terraform-provider-gcp


    【解决方案1】:

    不保证 Compute Engine 关闭脚本会运行。

    Compute Engine 仅尽最大努力执行关闭脚本。 在极少数情况下,Compute Engine 无法保证关闭 脚本将完成。

    Shutdown Script Limitations

    您可以手动执行关闭脚本来验证/调试执行:

    google_metadata_script_runner shutdown
    

    启动和关闭脚本存储在元数据中。元数据可能表明启动脚本位于 URL(例如 Cloud Storage)。元数据被复制到本地文件以供执行。文件名没有记录。

    提示:通过实例的串口连接,您可以看到 shutdown GCEMetadataScripts 事件启动关闭脚本并在执行时查看结果。

    【讨论】:

    • 好的,这有助于验证至少有一个脚本......但是如果我想验证内容,磁盘上的脚本在哪里?还是不是以文本格式在磁盘上,而是复制成二进制文件到服务器上?
    • @RCross 该位置未记录。另外,我认为关闭脚本文件是在事件时间而不是提前创建的。但是,我可能是错的。连接到串口并观看。然后关闭实例。
    • 顺便说一句,上面的命令抛出了一个错误...我不得不运行google_metadata_script_runner shutdown
    • @RCross - 谢谢。我更新了我的答案。我使用的是旧的命令语法。
    • @RCross 如果您发现提供的答案对您的问题有帮助,请接受答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 2021-05-14
    • 2021-11-04
    相关资源
    最近更新 更多