Administra los recursos de Google Cloud como una implementación

Puedes usar Google Cloud Deployment Manager para crear un conjunto de recursos de Google Cloud y administrarlos como una unidad, llamada implementación. Por ejemplo, si el entorno de desarrollo de tu equipo necesita dos máquinas virtuales (VM) y una base de datos de BigQuery, puedes definir estos recursos en un archivo de configuración y usar Deployment Manager a fin de crear, cambiar o borrar estos recursos. Puedes hacer que el archivo de configuración forme parte del repositorio del código de tu equipo para que todos puedan crear el mismo entorno con resultados coherentes.

En este instructivo, usarás Google Cloud Deployment Manager para crear una instancia de máquina virtual (VM). Deberás definir la VM en un archivo de configuración básico y usar ese archivo de configuración para crear una implementación.

Para completar este instructivo, debes sentirte cómodo con la ejecución de comandos en una terminal de Linux, macOS o Windows.

Para obtener una versión interactiva de este instructivo, ábrelo en Cloud Shell, donde puedes editar la configuración de muestra y, además, implementar tus recursos sin instalar nada en tu estación de trabajo. Si deseas seguir el instructivo en tu propia computadora, pasa a la siguiente sección.

Guía de inicio rápido en Cloud Shell

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  6. Habilita las API de Deployment Manager and Compute Engine.

    Habilita las API

  7. En tu estación de trabajo, instala Google Cloud CLI.
  8. Configura Google Cloud CLI para usar tu proyecto. En el siguiente comando, reemplaza [MY_PROJECT] por el ID del proyecto:
    gcloud config set project [MY_PROJECT]

Define los recursos

Describe los recursos en un archivo de configuración, que se escribe en la sintaxis YAML.

  1. Copia la configuración de muestra a continuación y pégala en un editor de texto.

    # 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.
    
    # Put all your resources under `resources:`. For each resource, you need:
    # - The type of resource. In this example, the type is a Compute VM instance.
    # - An internal name for the resource.
    # - The properties for the resource. In this example, for VM instances, you add
    #   the machine type, a boot disk, network information, and so on.
    #
    # For a list of supported resources,
    # see https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types.
    resources:
    - type: compute.v1.instance
      name: quickstart-deployment-vm
      properties:
        # The properties of the resource depend on the type of resource. For a list
        # of properties, see the API reference for the resource.
        zone: us-central1-f
        # Replace [MY_PROJECT] with your project ID
        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:
            # See a full list of image families at https://cloud.google.com/compute/docs/images#os-compute-support
            # The format of the sourceImage URL is: https://www.googleapis.com/compute/v1/projects/[IMAGE_PROJECT]/global/images/family/[FAMILY_NAME]
            sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11
        # Replace [MY_PROJECT] with your project ID
        networkInterfaces:
        - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
          # Access Config required to give the instance a public IP address
          accessConfigs:
          - name: External NAT
            type: ONE_TO_ONE_NAT
    

    Este archivo de configuración básica describe una implementación que contiene una instancia de máquina virtual con las siguientes propiedades:

    • Tipo de máquina: f1-micro
    • Familia de imágenes: debian-9
    • Zona: us-central1-f
    • Disco persistente raíz: boot
    • Una dirección IP externa asignada de forma aleatoria
  2. Reemplaza todas las instancias de [MY_PROJECT] por tu ID del proyecto.

  3. Guarda el archivo como vm.yaml.

Implementa los recursos

Para implementar los recursos, usa Google Cloud CLI para crear una implementación nueva con el archivo de configuración:

gcloud deployment-manager deployments create quickstart-deployment --config vm.yaml

Si la implementación se realiza de manera correcta, recibirás un mensaje similar al siguiente ejemplo:

Create operation operation-1432319707382-516afeb5d00f1-b864f0e7-b7103978 completed successfully.
NAME                    TYPE                STATE      ERRORS
quickstart-deployment   compute.v1.instance COMPLETED  -

Ahora tienes tu primera implementación.

Verifica la implementación nueva

Para verificar el estado de la implementación, ejecuta el siguiente comando:

gcloud deployment-manager deployments describe quickstart-deployment

Verás una descripción de la implementación, lo que incluye la hora de inicio y finalización, los recursos creados y cualquier advertencia o error.

fingerprint: xmVVeTtPq-5rr8F-vWFlrg==
id: '54660732508021769'
insertTime: '2016-03-09T04:45:26.032-08:00'
manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-first-deployment/manifests/manifest-1457527526037
name: quickstart-deployment
operation:
  endTime: '2016-03-09T04:46:19.480-08:00'
  id: '8993923014899639305'
  kind: deploymentmanager#operation
  name: operation-1457527525951-52d9d126f4618-f1ca6e72-3404bd3b
  operationType: insert
  progress: 100
  startTime: '2016-03-09T04:45:27.275-08:00'
  status: DONE
...
resources:
NAME                     TYPE                 STATE      ERRORS
quickstart-deployment-vm  compute.v1.instance  COMPLETED  -

Revisa los recursos

Después de crear la implementación, puedes revisar tus recursos en la consola de Google Cloud.

  1. Para ver una lista de tus implementaciones, abre la página de Deployment Manager.

    Ir a Deployment Manager

  2. Para ver los recursos en la implementación, haz clic en quickstart-deployment. Se abrirá la descripción general de la implementación, con información sobre la implementación y los recursos que forman parte de la implementación.

  3. Para ver información sobre la VM, haz clic en quickstart-deployment-vm.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página.

gcloud deployment-manager deployments delete quickstart-deployment

Escribe y en el indicador:

The following deployments will be deleted:
- quickstart-deployment

Do you want to continue (y/N)?

La implementación y los recursos que creaste se borran de forma permanente.

¿Qué sigue?