提示和疑難排解

如果您在使用 Deployment Manager 時遇到問題,下列各節或許能提供協助。

部署期間的常見錯誤

部署作業中顯示的錯誤會採用下列格式:

- code: ERROR_CODE
  location: /path/to/template
  message: "{"Error message"}"

以下各節將說明您可能常見的錯誤類型。

資源錯誤 (代碼:RESOURCE_ERROR)

資源錯誤會從基礎 API 傳播至您透過 Deployment Manager 管理的資源。舉例來說,如果部署作業有 Compute Engine VM 執行個體,且建立執行個體時發生錯誤,您會在 Deployment Manager 中看到該錯誤,並顯示為資源錯誤。

在 Deployment Manager 回應中,您可以在 message.ResourceErrorCodemessage.ResourceErrorMessage 欄位中查看基礎 API 的錯誤。

驗證錯誤 (代碼:CONDITION_NOT_MET)

如果設定中的欄位驗證失敗 (例如使用字串值,但系統預期是布林值),您就會收到驗證錯誤訊息。

依附元件迴圈 (代碼:CYCLIC_REFERENCES)

表示設定有依附元件迴圈。舉例來說,資源 A 依附於資源 B,B 依附於 C,而 C 依附於 A。

錯誤訊息會顯示依附元件迴圈中的資源。

在下列情況下,您可能會看到資源中的依附元件:

  • 參照其他資源的屬性。舉例來說,如果部署作業的執行個體群組管理員使用同一項部署作業中的執行個體範本,執行個體群組管理員會隱含地依附於執行個體範本。Deployment Manager 會先建立執行個體範本,然後建立執行個體群組管理員。

  • 明確的 dependsOn 屬性,表示目前的資源必須在所依附的資源之後建立。

如要解決這項錯誤,請變更參照或 dependsOn 屬性,中斷迴圈。

擴充範本時發生錯誤

範本會限制 Deployment Manager 將範本展開為單一設定所用的時間和資源量。

你可能會看到下列其中一則錯誤訊息:

  • MANIFEST_EXPANSION_TOO_MUCH_CPU:展開設定耗用的 CPU 資源過多。
  • MANIFEST_EXPANSION_TOO_MUCH_MEMORY:展開設定時耗用過多記憶體。
  • MANIFEST_EXPANSION_TOO_MUCH_WALL_TIME:展開設定耗費過多時間。
  • MANIFEST_EXPANSION_USER_ERROR:設定或其中一個範本發生錯誤。

MANIFEST_EXPANSION_TOO_MUCH_CPUMANIFEST_EXPANSION_TOO_MUCH_MEMORY 可能表示範本結構複雜,涉及遞迴或迴圈過多。

如要解決這些錯誤,請考慮將範本分割成較小的範本,或簡化範本。