Anteprima di una configurazione

Questa pagina descrive come visualizzare l'anteprima di un file di configurazione prima di creare un deployment. Per saperne di più sulle configurazioni, consulta Panoramica delle configurazioni.

Dopo aver scritto un file di configurazione, puoi visualizzare l'anteprima della configurazione prima di creare un deployment. L'anteprima di una configurazione consente di vedere le risorse create da Deployment Manager, ma in realtà non crea un'istanza di risorse effettive. Il servizio Deployment Manager visualizza l'anteprima della configurazione in questo modo:

  1. Espansione della configurazione completa, inclusi eventuali modelli.
  2. Creazione di un deployment e di risorse "shell".

Puoi visualizzare l'anteprima della configurazione utilizzando il parametro di query preview quando effettui una richiesta insert().

Prima di iniziare

Anteprima di una nuova configurazione

Visualizza l'anteprima di una configurazione utilizzando Google Cloud CLI o effettuando una richiesta diretta all'API.

gcloud

Se usi Google Cloud CLI, usa il sottocomando create con il flag --preview:

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

Il server restituisce un elenco di risorse il cui stato è IN_PREVIEW da esaminare:

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

Nell'API, utilizza il metodo insert() con un corpo della richiesta contenente i campi target e name e il parametro di query preview=true. Fornisci la tua configurazione nel campo target.

Ad esempio, la seguente richiesta API mostra in anteprima un modello semplice:

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"
   }
  }
}

Quando un deployment è in modalità di anteprima, puoi procedere in tre modi:

Esecuzione di più anteprime

Se vuoi modificare la configurazione ed eseguire un'altra anteprima, utilizza il comando update con il flag --preview:

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

Nell'API, effettua una richiesta PUT() con un deployment esistente e fornisci il parametro di query preview=true. Il corpo della richiesta deve contenere i campi intent, target e name. Ad esempio, la seguente richiesta API mostra in anteprima un semplice aggiornamento:

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"
}

Deployment o annullamento di un'anteprima

Dopo aver visualizzato l'anteprima di un deployment, puoi proseguire con il deployment eseguendo un aggiornamento ed eseguendo il commit della configurazione. Ad esempio, supponiamo di avere un deployment denominato example-config attualmente in modalità di anteprima. Puoi procedere con il deployment eseguendo questo comando:

gcloud deployment-manager deployments update example-config

Deployment Manager utilizza l'ultima configurazione visualizzata in anteprima per creare un deployment.

In alternativa, se non vuoi procedere con la configurazione, puoi annullare l'anteprima ed eliminare il deployment:

gcloud deployment-manager deployments cancel-preview example-config

Mentre un deployment è in modalità di anteprima, non puoi procedere con un'altra configurazione. Ad esempio, supponiamo di avere un deployment denominato example-config in modalità di anteprima che utilizza una configurazione denominata vm.yaml. Decidi di eseguire il deployment di una nuova configurazione denominata two_vms.yaml nello stesso deployment, saltando il processo di anteprima. Mentre example-config è ancora in modalità di anteprima, non puoi eseguire il deployment di una nuova configurazione. Annulla l'anteprima, quindi aggiorna il deployment con la nuova configurazione.

Passaggi successivi