Crear una solución basada en Deployment Manager

Cuando creas soluciones del catálogo de servicios para los usuarios de tu organización, puedes crear una solución de Deployment Manager (DM), que los usuarios inician con una plantilla de Deployment Manager. Una vez que hayas creado una solución, puedes compartirla con tus usuarios añadiéndola a catálogos.

Antes de empezar

  • Debes tener el rol Administrador de catálogos (roles/cloudprivatecatalogproducer.admin) O el rol Gestor de catálogos (roles/cloudprivatecatalogproducer.manager) en la Google Cloud organización asociada al Google Cloud proyecto que tiene habilitado el catálogo de servicios. Si no tienes este rol, ponte en contacto con el administrador de tu organización para solicitar acceso.

  • Enable the Cloud Deployment Manager and Compute Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Preparar la plantilla de despliegue

Para crear una solución de Deployment Manager en Service Catalog, primero debes preparar un archivo ZIP de plantilla de Deployment Manager para subir, que debe contener los siguientes archivos:

  • Un archivo de plantilla Jinja que termine en la extensión .jinja o un archivo de plantilla de Python que termine en la extensión .py.
  • Un archivo de esquema que termine en la extensión .jinja.schema para una plantilla de Jinja o en la extensión py.schema para una plantilla de Python.

El nombre del archivo ZIP debe coincidir con los nombres del esquema y de los archivos Jinja o Python. Por ejemplo, si el archivo ZIP se llama android-dev-environment.zip, el archivo de esquema Jinja que contiene debe llamarse android-dev-environment.jinja.schema y la plantilla Jinja debe llamarse android-dev-environment.jinja.

En el siguiente ejemplo de código se muestra un archivo de esquema para crear un formulario de implementación:



info:
  title: Single Google Compute Engine Machine
  author: Google Inc.
  description: Creates a virtual machine based on zone and machine type selection.

required:
  - machinetype
  - zone

properties:
  machinetype:
    title: Machine type
    type: string
    enum:
      - n2-standard-2
      - n2-standard-4
      - n2-standard-8
      - n2-highmem-2
      - n2-highmem-4
      - n2-highmem-8
      - n2-highcpu-2
      - n2-highcpu-4
      - n2-highcpu-8
  zone:
    title: Zone
    type: string
    enum:
      - us-central1-a
      - us-central1-c
      - us-east1-b
      - us-east1-c
      - us-west1-a
      - us-west1-b
      - us-west1-c

En el siguiente ejemplo de código se muestra un archivo Jinja para crear una VM persistente:



# Creates a Persistent VM
resources:
- type: compute.v1.instance
  name: vm-{{ env["deployment"] }}
  properties:
    zone: {{ properties["zone"] }}
    # Note the machineType definition at the end. n2-custom-4-5120 specifies n2 machine family with 4 CPUs and 5GB (5120 MB) of RAM. For custom machine types, refer to https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type
    machineType: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/zones/{{ properties["zone"] }}/machineTypes/{{ properties["machinetype"] }}
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        diskName: disk-{{ env["deployment"] }}
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/global/networks/default
      # Access Config required to give the instance a public IP address
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

Crear la solución en el catálogo de servicios

Para crear una solución basada en una plantilla de Deployment Manager, sigue estos pasos:

  1. Ve a la página Soluciones de la consola de administración del catálogo de servicios de la Google Cloud consola.
    Ve a la página Soluciones.

  2. Haz clic en Seleccionar para elegir el proyecto Google Cloud .

  3. Haz clic en CREAR SOLUCIÓN. En la lista desplegable, selecciona Crear una solución de mensaje directo.

  4. Introduce el nombre, la descripción y el eslogan de tu solución. El eslogan es una breve descripción de una solución que los usuarios ven mientras consultan el catálogo de servicios.

  5. Sube un archivo ZIP que contenga los archivos de una configuración de implementación.

  6. También puedes subir un icono para la solución. Las dimensiones recomendadas para un icono son 80x80 píxeles.

  7. También puedes introducir un enlace de asistencia e información de contacto del creador.

  8. Si quieres, añade un enlace a la documentación de la solución.

  9. Haz clic en CREAR.

En la siguiente captura de pantalla se muestra cómo crear una solución basada en DM:

Crear una solución basada en plantillas de Cloud Deployment Manager

Pasos siguientes

  • Asigna la solución a un catálogo para que los usuarios de tu organización puedan acceder a ella y desplegarla.