有時,在繼續進行 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 中使用 phone_home 等待機器初始化,請將 cloudConfigSettings 區段新增至雲端範本:

cloudConfigSettings:
  phoneHomeShouldWait: true
  phoneHomeTimeoutSeconds: 600
  phoneHomeFailOnTimeout: true
內容 說明
phoneHomeShouldWait 是否等待初始化 (true 或 false)。
phoneHomeTimeoutSeconds 何時決定是否要繼續部署,即使初始化仍在執行中。預設值為 10 分鐘。
phoneHomeFailOnTimeout 是否在逾時後繼續部署 (true 或 false)。請注意,即使繼續進行,部署仍可能因個別原因而失敗。