虚拟机可能需要完全初始化,才能继续执行 Cloud Assembly 部署。

例如,如果部署仍在安装软件包和启动 Web 服务器的计算机,则可能会导致快速用户试图在应用程序可用之前访问该应用程序的情况。

使用此功能时,请注意以下注意事项。

  • 此功能利用 cloud-init phone_home 模块,并在部署 Linux 计算机时可用。
  • 由于 Cloudbase-init 限制,phone_home 不适用于 Windows。
  • phone_home 可以像显式依赖关系一样影响部署顺序,但在计时和处理选项方面具有更大的灵活性。

    请参见在 Cloud Assembly 中创建资源之间的绑定和依赖关系

  • phone_home 需要云模板中的 cloudConfig 部分。
  • 您的创造力是一个因素。初始化命令可能包括操作之间的嵌入等待时间,可以与 phone_home 协同使用。
  • 如果计算机模板中已包含 phone_home 模块设置,则基于云模板的 phone_home 将无法正常工作。
  • 计算机必须具有返回 Cloud Assembly 的出站通信访问权限。

要在 Cloud Assembly 中引入部署延迟,请在云模板中添加 cloudConfigSettings 部分:

cloudConfigSettings:
  phoneHomeShouldWait: true
  phoneHomeTimeoutSeconds: 600
  phoneHomeFailOnTimeout: true
属性 说明
phoneHomeShouldWait 是否等待初始化(true 或 false)。
phoneHomeTimeoutSeconds 何时决定是否继续部署,即使初始化仍在运行。默认值为 10 分钟。
phoneHomeFailOnTimeout 是否在超时后继续部署(true 或 false)。请注意,即使继续进行,部署仍可能因各种原因而失败。