启动脚本中的关闭实例需要很长时间

启动脚本中的关闭实例需要很长时间

我在实例元数据中添加了一个 bash 脚本,它执行一些测试,然后在脚本末尾运行以下命令。

shutdown -h now

实例和图像随后被“生成脚本”删除。

实例通过 SSH 不可用,但TERMINATED直到 10 分钟后才将其设置为。在此期间,它仍显示为RUNNING

一切看起来都应该在串行控制台中。

Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping Session 1 of user my-user.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping User Manager for UID 1001...
Stopping Authenticate and Authorize Users to Run Privileged Tasks...
[[0;32m  OK  [0m] Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
[[0;32m  OK  [0m] Stopped target Mail Transport Agent.
[[0;32m  OK  [0m] Stopped target Timers.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping Authenticate and Authorize Users to Run Privileged Tasks...
[[0;32m  OK  [0m] Stopped Daily Cleanup of Temporary Directories.
[[0;32m  OK  [0m] Stopped target Graphical Interface.
Aug  5 16:54:20 database-integrity-test systemd[1]: Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
Stopping Accounts Service...
Stopping ACPI event daemon...
[[0;32m  OK  [0m] Stopped target Cloud-init target.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped target Mail Transport Agent.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped target Timers.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped Daily Cleanup of Temporary Directories.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped target Graphical Interface.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping Accounts Service...
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping ACPI event daemon...
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped target Cloud-init target.
and so on . . . .

我们希望尽量减少这些“可预测完整性测试实例”的维护,以节省成本,小型数据库的测试只需几分钟。等待关机完成的时间比实际测试时间长 10 到 20 倍,时间加起来会很可观。

一种解决方案是与实例进行通信并通过 Google Cloud API 终止它,但我想避免这种情况。

还有其他人遇到过这个问题吗?

答案1

对于您要完成的任务,我认为最好让实例完成其任务,然后使用Google GCE API随后删除该实例。这样,您就可以远程使用该脚本,并且还可以使用其他功能。

此外,您可以继续使用实例元数据中的 bash 脚本在实例完成其工作后删除该实例。但是,它们存在潜在的延迟问题,如您所概述的那样;这就是为什么最好使用 API 的原因。

我还建议查看以下文件:

  1. 存储和检索实例元数据文档

  2. 访问实例元数据

相关内容