預覽設定

本頁說明如何在建立部署作業之前先預覽設定檔。如要進一步瞭解設定,請參閱設定總覽

撰寫設定檔後,您可以在建立部署作業之前先預覽設定。預覽設定可讓您看到 Deployment Manager 將會建立的資源,但實際上不會將任何實際資源實例化。Deployment Manager 服務會透過下列方法來預覽設定:

  1. 展開完整的設定,包括任何範本。
  2. 建立部署作業和「殼層」資源。

您可以在提出 insert() 要求時,使用 preview 查詢參數預覽設定。

事前準備

預覽新的設定

您可以使用 Google Cloud CLI 或向 API 發出直接要求來預覽設定。

gcloud

如果您使用 Google Cloud CLI,請使用 create 子指令並加上 --preview 旗標:

gcloud deployment-manager deployments create example-config --config configuration-file.yaml \
     --preview

伺服器會傳回狀態為 IN_PREVIEW 的資源清單以供您查看:

The fingerprint of the deployment is ulPDrJON8E5ySHKC5fcukw==
Waiting for create [operation-1492785372594-54dae2ddbff50-58d45d53-12d483cf]...done.
Create operation operation-1492785372594-54dae2ddbff50-58d45d53-12d483cf completed successfully.
NAME                      TYPE                 STATE       ERRORS  INTENT
datadisk-example  compute.v1.disk      IN_PREVIEW  []      CREATE_OR_ACQUIRE
vm-example        compute.v1.instance  IN_PREVIEW  []      CREATE_OR_ACQUIRE

API

在 API 中,使用 insert() 方法,並在要求主體中包含 targetname 欄位,以及 preview=true 查詢參數。在 target 欄位中提供您的設定。

例如,下列的 API 要求可預覽簡單的範本:

POST https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments?preview=true

{
 "name": "example-config",
 "target": {
  "config": {
    "content":  "resources:\n- name: vm-created-by-cloud-config\n  type: compute.v1.instance\n  properties:\n    zone: us-central1-a\n    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n    disks:\n    - deviceName: boot\n      type: PERSISTENT\n      boot: true\n      autoDelete: true\n      initializeParams:\n        diskName: disk-created-by-cloud-config\n        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140619\n    networkInterfaces:\n    networkInterfaces:\n    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default"
   }
  }
}

當部署作業處於預覽模式時,您可以透過以下三種方法之一繼續進行部署作業:

執行多個預覽

如要變更設定並執行其他預覽,請使用具有 --preview 標記的 update 指令:

gcloud deployment-manager deployments update example-config \
    --config new-config.yaml --preview

在 API 中使用現有部署作業發出 PUT() 要求,並提供 preview=true 查詢參數。要求主體必須包含 intenttargetname 欄位。例如,下列 API 要求可預覽簡單的更新:

PUT https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/example-config?preview=true

{
 "target": {
  "config": {
   "content": "resources:\n- name: vm-created-by-cloud-config\n  type: compute.v1.instance\n  properties:\n    zone: us-central1-a\n    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n    disks:\n    - deviceName: boot\n      type: PERSISTENT\n      boot: true\n      autoDelete: true\n      initializeParams:\n        diskName: disk-created-by-cloud-config\n        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140619\n    networkInterfaces:\n    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default"
  }
 },
 "name": "example-config"
}

部署或取消預覽

預覽部署作業後,您可以透過執行更新並修訂設定來繼續進行部署作業。例如,假設您有一個名為 example-config 的部署作業目前處於預覽模式。您可以執行下列指令來繼續進行部署作業:

gcloud deployment-manager deployments update example-config

Deployment Manager 會使用上次預覽的設定來建立部署作業。

或者,如果您不想繼續進行設定,可以取消預覽,然後刪除部署作業:

gcloud deployment-manager deployments cancel-preview example-config

當部署作業處於預覽模式時,您無法繼續進行其他設定。舉例來說,假設您有一個名為 example-config 的部署作業,且該部署作業使用名為 vm.yaml 的設定且處於預覽模式。您決定要將名為 two_vms.yaml 的新設定部署至同一個部署作業,並且略過預覽程序。當 example-config 仍處於預覽模式時,您將無法部署新的設定。取消預覽,然後使用新的設定更新部署作業

後續步驟