Crear una configuración

El primer paso en la creación de tu implementación es crear una configuración. Una configuración es una lista de recursos, y sus correspondientes propiedades, que será parte de tu implementación.

Un archivo de configuración comienza con una string resources seguida de una lista de entradas de recursos, cada una con los siguientes campos:

  • name: el nombre que defines para este recurso. Por ejemplo, "myfirstvm" o "dev-vm".
  • type: especifica el tipo de base de este recurso. Por ejemplo, una máquina virtual tendrá un tipo compute.v1.instance. Asimismo, una instancia de Cloud SQL tiene el tipo sql.v1beta4.instance. Consulta una lista completa de tipos de recursos disponibles.
  • properties: especifica las propiedades del recurso. Las propiedades requeridas para crear el recurso son las mismas requeridas en la API de ese recurso. Por ejemplo, cuando creas una instancia de máquina virtual de Compute Engine mediante el servicio de Compute Engine, debes proporcionar un tipo de máquina, una imagen, una interfaz de red y la especificación de un disco de arranque. Las mismas propiedades también se requieren en la sección properties a fin de crear una instancia de máquina virtual mediante Deployment Manager.

En esta guía definiremos una configuración que crea una implementación con dos instancias.

Crea tu propio archivo YAML

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

cd step-by-step-dm

Empieza a escribir tu configuración

Crea un archivo llamado two-vms.yaml y comienza tu configuración; para ello, declara la string resources, seguida del tipo y nombre de la primera instancia de máquina virtual:

resources:
- name: the-first-vm
  type: compute.v1.instance

Agrega propiedades a tu recurso

Agrega propiedades de la instancia de máquina virtual. Esta instancia utiliza el tipo de máquina f1-micro, una imagen de Debian 9, con una dirección IP externa efímera.

resources:
- name: the-first-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/myproject/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/myproject/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

Agrega un segundo recurso

Para agregar la segunda instancia, incorpora las siguientes líneas al final del archivo. Esta instancia es ligeramente diferente de la primera máquina virtual y utiliza un tipo de máquina g1-small en vez de f1-micro.

- name: the-second-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/myproject/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/myproject/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

Al final, tu archivo YAML debería verse así:

# 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

Eso es todo. Para crear una implementación solo necesitas este simple archivo de configuración que acabas de crear. Solo debes declarar los recursos que quieras en un archivo (en este caso, dos instancias de máquina virtual con diferentes tipos de máquinas) y Deployment Manager se encargará del proceso de creación de recursos.

En el siguiente paso utilizaremos esta configuración para implementar nuevos recursos.

A continuación: Implementa recursos

Temas relacionados

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Deployment Manager