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 visualizzare le risorse che Deployment Manager creerebbe, ma non le esegue effettivamente. La Il servizio Deployment Manager visualizza l'anteprima della configurazione tramite:

  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 una richiesta diretta all'API.

gcloud

Se utilizzi 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 la classe insert() con un corpo della richiesta che contiene 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 l'anteprima di 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 con il deployment in uno di 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 intent, target e name campi. Ad esempio, la seguente richiesta API mostra l'anteprima di 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 procedere con l'esecuzione di un aggiornamento e l'applicazione della configurazione. Ad esempio, supponiamo che avere un deployment denominato example-config attualmente in modalità di anteprima. Puoi spostare eseguendo questo comando:

gcloud deployment-manager deployments update example-config

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

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 che tu abbia un deployment chiamato 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 allo stesso deployment, saltando il processo di anteprima. Mentre example-config è ancora in modalità di anteprima, non puoi eseguire il deployment di una nuova configurazione. Annullare l'anteprima e poi aggiornare il deployment con la nuova configurazione.

Passaggi successivi