Prévisualiser une configuration

Cette page décrit comment prévisualiser un fichier de configuration avant de créer un déploiement. Pour en savoir plus sur les configurations, consultez la section Présentation des configurations.

Après avoir écrit un fichier de configuration, vous pouvez le prévisualiser avant de créer un déploiement. L'aperçu d'une configuration vous permet de voir les ressources que Deployment Manager créera, mais n'instancie aucune ressource réelle. Le service Deployment Manager affiche l'aperçu de la configuration en effectuant les opérations suivantes :

  1. Développement de la configuration complète, y compris des modèles
  2. Création d'un déploiement et de ressources "shell"

Vous pouvez prévisualiser votre configuration en utilisant le paramètre de requête preview lorsque vous effectuez une requête insert().

Avant de commencer

Prévisualiser une nouvelle configuration

Prévisualisez une configuration à l'aide de l'outil de ligne de commande gcloud ou en envoyant une demande directe à l'API.

gcloud

Si vous utilisez l'outil de ligne de commande gcloud, utilisez la sous-commande create avec l'indicateur --preview :

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

Le serveur renvoie la liste des ressources dont l'état est IN_PREVIEW afin que vous puissiez les examiner :

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

Dans l'API, utilisez la méthode insert() avec un corps de requête qui contient les champs target et name et le paramètre de requête preview=true. Spécifiez la configuration dans le champ target.

Par exemple, la requête d'API suivante affiche l'aperçu d'un modèle simple :

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

Lorsqu'un déploiement est en mode aperçu, vous disposez de l'une des trois options suivantes :

Générer plusieurs aperçus

Si vous souhaitez modifier votre configuration et effectuer un autre aperçu, utilisez la commande update avec l'indicateur --preview :

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

Dans l'API, créez une requête PUT() avec un déploiement existant et spécifiez le paramètre preview=true. Le corps de la requête doit contenir les champs intent, target et name. Par exemple, la requête API suivante affiche l'aperçu d'une simple mise à jour :

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

Déployer ou annuler un aperçu

Après avoir prévisualisé un déploiement, vous pouvez poursuivre en le mettant à jour et en abandonnant la configuration. Par exemple, supposons que vous possédez un déploiement intitulé "example-config" qui est actuellement en mode aperçu. Vous pouvez poursuivre ce déploiement en exécutant la commande suivante :

gcloud deployment-manager deployments update example-config

Deployment Manager utilise la dernière configuration prévisualisée pour créer un déploiement.

Sinon, si vous ne souhaitez pas avancer dans la configuration, vous pouvez annuler l'aperçu, puis supprimer le déploiement :

gcloud deployment-manager deployments cancel-preview example-config

Lorsqu'un déploiement est en mode aperçu, vous ne pouvez pas déployer une autre configuration. Par exemple, supposons que vous ayez un déploiement appelé example-config qui est en mode aperçu à l'aide d'une configuration nommée vm.yaml. Vous décidez que vous souhaitez déployer une nouvelle configuration nommée two_vms.yaml dans le même déploiement, en ignorant le processus d'aperçu. Tant que le déploiement example-config est en mode aperçu, vous ne pouvez pas déployer de nouvelle configuration. Annulez l'aperçu, puis mettez à jour le déploiement avec la nouvelle configuration.

Étape suivante