Comprendre les configurations

Une configuration définit la structure de votre déploiement. Vous devez spécifier une configuration pour créer un déploiement.

Vous allez à présent accéder à une configuration qui créera un déploiement avec deux instances de machine virtuelle Compute Engine. Une instance de VM fait partie des différents types de ressources que vous pouvez déployer avec Deployment Manager.

Dans cette étape, vous allez examiner une configuration pour un déploiement avec deux instances de VM.

Ouvrir le fichier de configuration YAML

Accédez au répertoire que vous avez créé à l'étape d'installation et de configuration :

cd deploymentmanager-samples/examples/v2/step_by_step_guide/step2_create_a_configuration

Ensuite, ouvrez two-vms.yaml :

nano two-vms.yaml   # use your preferred text editor

Dans la section resources, notez qu'il existe deux ressources : the-first-vm et the-second-vm. Chaque ressource est assortie de champs name, type et properties :

  • name : spécifie le nom que vous définissez pour la ressource.

  • type : spécifie le type de ressource que vous créez. Par exemple, une VM est de type compute.v1.instance. De même, une instance
    Cloud SQL est de type sql.v1beta4.instance.

  • properties : spécifie les propriétés de la ressource. Les propriétés requises pour créer la ressource sont les mêmes que celles requises par l'API de la ressource. Par exemple, lorsque vous créez une instance de VM Compute Engine, vous devez indiquer un type de machine, une image, une interface réseau et un disque de démarrage.

Configurer le fichier de configuration

Dans two-vms.yaml, remplacez MY_PROJECT par l'ID de votre projet.

# Copyright 2016 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

resources:
- name: the-first-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/f1-micro
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT
- name: the-second-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/g1-small
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

Enregistrer les modifications

Ce fichier de configuration de base est tout ce dont vous avez besoin pour créer votre premier déploiement. Vous avez déclaré les ressources que vous souhaitez créer (dans ce cas, deux instances de VM ayant des types de machines différents). Deployment Manager se charge ensuite de créer les ressources.

Dans l'étape suivante, vous utiliserez cette configuration pour déployer de nouvelles ressources.