Comprende las configuraciones

Una configuración define la estructura de tu implementación. Debes especificar una configuración para crear una implementación.

En este paso, accederás a una configuración que crea una implementación con dos instancias de VM de Compute Engine. Una instancia de VM es uno de varios tipos de recursos que puedes implementar con Deployment Manager.

En este paso, examinarás una configuración para una implementación con dos instancias de VM.

Abre el archivo de configuración YAML

Cambia al directorio que creaste en Instalación y configuración:

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

Luego, abre two-vms.yaml:

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

En la sección resources, ten en cuenta que hay dos recursos: the-first-vm y the-second-vm. Cada recurso tiene un campo name, type y properties:

  • name: es el nombre que defines para el recurso.

  • type: especifica qué tipo de recurso creas. Por ejemplo, una VM es compute.v1.instance. Del mismo modo, una instancia de Cloud SQL
    tiene el tipo sql.v1beta4.instance.

  • properties: especifica las propiedades del recurso. Las propiedades requeridas para crear el recurso son las mismas requeridas por la API del recurso. Por ejemplo, cuando creas una instancia de VM de Compute Engine, debes proporcionar un tipo de máquina, una imagen, una interfaz de red y una especificación de disco de arranque.

Establece el archivo de configuración

En two-vms.yaml, reemplaza MY_PROJECT por el ID de tu proyecto.

# 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

Guarda los cambios

Este archivo de configuración básico es todo lo que necesitas para crear tu primera implementación. Tú declaras los recursos que deseas crear (en este caso, dos instancias de VM que tenían diferentes tipos de máquina) y Deployment Manager se encarga de crear los recursos.

En el siguiente paso, usarás esta configuración para implementar recursos nuevos.