Créer une solution basée sur Deployment Manager
Lorsque vous créez des solutions Service Catalog pour les utilisateurs de votre organisation, vous pouvez créer une solution Deployment Manager (DM), que les utilisateurs lancent à l'aide d'un modèle Deployment Manager. Après avoir créé une solution, vous pouvez la partager avec vos utilisateurs en l'ajoutant aux catalogues.
Avant de commencer
Vous devez disposer du rôle Administrateur du catalogue (
roles/cloudprivatecatalogproducer.admin) OU Gestionnaire du catalogue (roles/cloudprivatecatalogproducer.manager) pour l' Google Cloud organisation associée au Google Cloud projet pour lequel le catalogue de services est activé. Si vous ne disposez pas de ce rôle, contactez l'administrateur de votre organisation pour demander l'accès.-
Activez les API Cloud Deployment Manager et Compute Engine.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.
Préparer le modèle de déploiement
Pour créer une solution Deployment Manager dans le catalogue de services, vous devez d'abord préparer un fichier ZIP du modèle Deployment Manager à importer, qui doit contenir les fichiers suivants :
- Un fichier de modèle Jinja se terminant par l'extension
.jinjaou un fichier de modèle Python se terminant par l'extension.py - Un
fichier de schéma
se terminant par l'
.jinja.schemaextension pour un modèle Jinja ou l'py.schemaextension pour un modèle Python.
Le nom du fichier ZIP doit correspondre aux noms du schéma et des fichiers Jinja ou Python. Par exemple, si le fichier zip est nommé android-dev-environment.zip, le fichier de schéma Jinja dans le fichier ZIP doit être nommé android-dev-environment.jinja.schema et le modèle Jinja doit être nommé android-dev-environment.jinja.
L'exemple de code suivant illustre un fichier de schéma pour créer un formulaire de déploiement :
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
L'exemple de code suivant illustre un fichier Jinja permettant de créer une VM persistante :
# 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
Créer la solution dans catalogue de services
Pour créer une solution basée sur un modèle Deployment Manager, procédez comme suit :
Accédez à la page Solutions dans l'administration du catalogue de services de la Google Cloud console.
Accéder à la page "Solutions"Cliquez sur Sélectionner pour choisir le Google Cloud projet.
Cliquez sur CRÉER UNE SOLUTION. Dans la liste déroulante, sélectionnez Créer une solution Deployment Manager.
Saisissez un nom, une description et un slogan pour votre solution. Le slogan est une brève description d'une solution que les utilisateurs voient lorsqu'ils parcourent Service Catalog.
Importez un fichier ZIP contenant les fichiers pour une configuration de déploiement.
Si vous le souhaitez, importez une icône pour la solution. Les dimensions recommandées pour une icône sont de 80 x 80 pixels.
Si vous le souhaitez, indiquez un lien vers l'assistance et les coordonnées pour le créateur.
Si vous le souhaitez, ajoutez un lien vers la documentation de la solution.
Cliquez sur CREATE (CRÉER).
La capture d'écran suivante illustre la création d'une solution basée sur des liens :
Étapes suivantes
- Attribuez la solution à un catalogue afin que les utilisateurs de votre organisation puissent y accéder et la déployer.