Creazione di una soluzione basata su Deployment Manager

Quando crei soluzioni del catalogo dei servizi per gli utenti della tua organizzazione, puoi creare una soluzione Deployment Manager (DM), che gli utenti avviano utilizzando un modello Deployment Manager. Dopo aver creato una soluzione, puoi condividerla con i tuoi utenti aggiungendola ai cataloghi.

Prima di iniziare

  • Devi disporre del ruolo Amministratore catalogo (roles/cloudprivatecatalogproducer.admin) O Gestore catalogo (roles/cloudprivatecatalogproducer.manager) per l'organizzazione Google Cloud associata al progetto Google Cloud in cui è abilitato catalogo dei servizi. Se non disponi di questo ruolo, contatta l'amministratore dell'organizzazione per richiedere l'accesso.

  • 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

Preparazione del modello di deployment

Per creare una soluzione Deployment Manager in catalogo dei servizi, devi prima preparare un file ZIP del modello Deployment Manager da caricare, che deve contenere i seguenti file:

  • Un file di modello Jinja che termina con l'estensione .jinja o un file di modello Python che termina con l'estensione .py.
  • Un file di schema che termina con l'estensione .jinja.schema per un modello Jinja o con l'estensione py.schema per un modello Python.

Il nome del file ZIP deve corrispondere ai nomi dei file schema e Jinja o Python. Ad esempio, se il file ZIP si chiama android-dev-environment.zip, il file schema Jinja all'interno del file ZIP deve chiamarsi android-dev-environment.jinja.schema e il modello Jinja deve chiamarsi android-dev-environment.jinja.

Il seguente esempio di codice illustra un file di schema per creare un modulo di deployment:



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

Il seguente esempio di codice mostra un file Jinja per creare una VM permanente:



# 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

Creazione della soluzione nel catalogo dei servizi

Per creare una soluzione basata su un modello Deployment Manager:

  1. Vai alla pagina Soluzioni di amministrazione del catalogo di servizi nella console Google Cloud .
    Vai alla pagina Soluzioni

  2. Fai clic su Seleziona per scegliere il progetto Google Cloud .

  3. Fai clic su CREA SOLUZIONE. Nell'elenco a discesa, seleziona Crea una soluzione DM.

  4. Inserisci un nome, una descrizione e uno slogan per la tua soluzione. Lo slogan è una breve descrizione di una soluzione che gli utenti vedono mentre navigano nel catalogo dei servizi.

  5. Carica un file ZIP contenente i file per una configurazione di deployment.

  6. (Facoltativo) Carica un'icona per la soluzione. Le dimensioni consigliate per un'icona sono 80 x 80 pixel.

  7. Se vuoi, inserisci un link di assistenza e i dati di contatto del creator.

  8. (Facoltativo) Aggiungi un link alla documentazione della soluzione.

  9. Fai clic su CREA.

Lo screenshot seguente mostra la creazione di una soluzione basata su DM:

Crea una soluzione basata su modello Cloud Deployment Manager

Passaggi successivi

  • Assegna la soluzione a un catalogo, in modo che gli utenti della tua organizzazione possano accedere alla soluzione ed eseguirne il deployment.