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, leggi la 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 ti consente di visualizzare le risorse che Deployment Manager creerebbe, ma non crea effettivamente risorse. Il servizio Deployment Manager visualizza l'anteprima della configurazione:

  1. Espandendo la 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 utilizzi Google Cloud CLI, utilizza 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 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 dei tre modi seguenti:

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, invia 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 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 il deployment eseguendo un aggiornamento e applicando la configurazione. Ad esempio, supponiamo di avere un deployment denominato example-config attualmente in modalità anteprima. Puoi procedere con il deployment eseguendo il seguente 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 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 nello stesso deployment, saltando la procedura 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