Créer votre package de déploiement

Cette page décrit les étapes à suivre pour créer un package de déploiement pour votre produit de machine virtuelle. Vous devez créer et envoyer le package de déploiement pour publier votre produit sur Google Cloud Marketplace.

Un déploiement est un ensemble de ressources créées et gérées ensemble, telles que les ressources nécessaires à votre produit. Un package de déploiement est une spécification pour un ensemble de ressources qui sont généralement déployées ensemble, ce qui simplifie le processus de déploiement de ce produit particulier.

Dans ce guide, vous allez créer votre package de déploiement à l'aide de Deployment Manager. Deployment Manager vous permet de créer des packages de déploiement pour vos produits de VM à l'aide de fichiers de configuration YAML, JSON ou ProtoText simples.

Déterminer comment créer votre package de déploiement

Producer Portal

Nous vous recommandons d'utiliser l'option de configuration guidée de Producer Portal pour créer votre package de déploiement directement dans Google Cloud Console.

La configuration guidée est compatible avec des produits de VM simples, tels que les déploiements de VM uniques avec des règles de pare-feu de base, mais elle ne prend pas en charge certaines fonctionnalités complexes, comme les déploiements avec plusieurs VM et les champs de configuration personnalisés. Si vous avez besoin de fonctionnalités non compatibles avec la configuration guidée, vous pouvez utiliser l'outil Open Source mpdev pour créer votre package de déploiement ou pour personnaliser un package existant en lui ajoutant des fonctionnalités supplémentaires.

Passer de la configuration guidée à la configuration manuelle

Si vous utilisez l'option de configuration guidée de Producer Portal et souhaitez ensuite passer à la configuration manuelle de votre package de déploiement, vous pouvez cliquer sur ACCÉDER À LA CONFIGURATION MANUELLE pour passer à la configuration manuelle.

Lorsque vous basculez, vous pouvez télécharger la spécification Autogen pour le package de déploiement que vous avez créé dans la configuration guidée. Elle vous servira de base pour votre configuration manuelle.

Portail des partenaires

Si votre produit est un déploiement simple d'une seule instance de VM avec des règles de pare-feu de base, vous pouvez créer un package de déploiement simple directement dans Google Cloud Console.

Si votre produit est un déploiement complexe, utilisez l'outil mpdev Open Source pour créer et personnaliser votre package de déploiement avec des fonctionnalités supplémentaires.

Le tableau suivant explique les différences entre les déploiements simples et les déploiements complexes :

Déploiement Description Créer le package
Simple Instance de VM unique avec des règles de pare-feu de base. console Google Cloud
Complexe Déploiement complexe, avec VM unique ou multi-VM. Le déploiement peut nécessiter l'une des fonctionnalités suivantes :
  • Les quotas vérifient les processeurs et les GPU, afin que les utilisateurs ne puissent pas déployer votre produit s'ils dépassent les exigences de quota.
  • Mises à jour de prix dynamiques dans la page Deployment Manager.
  • Compatibilité avec les clouds privés virtuels (VPC) partagés
  • Compatibilité avec les VM avec plusieurs cartes d'interface réseau.
  • Possibilité d'empêcher les utilisateurs de choisir des types de machines, des GPU ou des sous-réseaux qui ne sont pas disponibles dans la zone de leur choix.
Outil mpdev

Si vous ne savez pas quelle option de déploiement est la plus adaptée à votre produit, contactez votre ingénieur partenaire Google pour obtenir de l'aide.

Avant de commencer

  1. Assurez-vous que votre déploiement n'utilise pas Terraform ou qu'il ne comporte aucune dépendance sur Terraform.

  2. Si vous utilisez l'outil mpdev pour créer votre package de déploiement, procédez comme suit :

    1. Installez l'outil mpdev en suivant les instructions du dépôt marketplace-tools.
    2. Téléchargez le SDK Google Cloud.

Créer et envoyer votre package de déploiement

La section suivante explique comment créer votre package de déploiement et l'envoyer à Google pour examen.

Créez le package de déploiement en utilisant l'une des méthodes suivantes :

Créer un package de déploiement à l'aide de Google Cloud Console

Pour créer et envoyer un package de déploiement simple à l'aide de Google Cloud Console, procédez comme suit:

Producer Portal

  1. Dans Producer Portal, accédez à la section Package de déploiement.

  2. Sélectionnez la configuration guidée pour les solutions simples et cliquez sur CONTINUER.

  3. Dans la section Configurer la spécification Autogen, à côté du champ de saisie intitulé Bucket Cloud Storage, cliquez sur PARCOURIR.

    Si vous avez déjà créé un bucket Cloud Storage, sélectionnez-le ici.

    Si vous ne disposez pas d'un bucket Cloud Storage, cliquez sur l'icône Créer un bucket. Lorsque vous créez un bucket, vous:

    • Attribuez un nom au bucket.
    • Spécifiez la ou les régions dans lesquelles le bucket stocke les données.
    • Indiquez la classe de stockage pour vos données.
    • Déterminez le niveau de précision à appliquer aux autorisations IAM (Identity and Access Management) pour les données du bucket.
    • Configurez des paramètres avancés facultatifs, tels que les règles de chiffrement ou de conservation des données.
  4. Assurez-vous que la gestion des versions d'objets est activée pour votre bucket Cloud Storage.

  5. Pour enregistrer les paramètres de votre bucket et commencer à configurer votre package de déploiement, cliquez sur Configurer.

  6. Sous Choisir votre image de produit, sélectionnez Votre image de VM.

    L'image de VM que vous sélectionnez doit être :

    • associée à votre projet Google Cloud actuel ;

    • Associé à la licence appropriée pour votre produit. Vous créez et associez cette licence lorsque vous créez votre image de VM.

  7. Sous Choisir le type de machine, vous devez spécifier une Zone par défaut, un Type de machine minimal et un Type de machine par défaut pour votre produit de VM, ainsi que la taille et le type de son disque de démarrage.

  8. Sous Indiquer le système d'exploitation, vous devez spécifier le nom et la version de l'OS de votre image de VM, ainsi que le numéro de version de l'image de VM.

  9. Si vous le souhaitez, sous Configurer l'accès à la VM, vous pouvez spécifier les URL de site et d'administrateur, ainsi qu'un nom d'utilisateur et un mot de passe que les utilisateurs peuvent utiliser pour accéder à la VM après le déploiement.

  10. Si vous le souhaitez, sous Configurer la mise en réseau, vous pouvez spécifier des paramètres pour le transfert IP et des règles de pare-feu.

  11. Si vous le souhaitez, sous Définir les étapes suivantes, vous pouvez fournir des instructions aux utilisateurs de votre produit pour les aider à démarrer. Ils auront accès à ces instructions une fois qu'ils auront déployé votre produit.

  12. Une fois les étapes précédentes effectuées, cliquez sur GÉNÉRER pour créer votre package de déploiement.

    Si vous devez apporter des modifications supplémentaires à votre package de déploiement ultérieurement, vous pouvez cliquer sur MODIFIER pour apporter des modifications, puis sur GÉNÉRER pour régénérer votre package de déploiement une fois les modifications appliquées.

    Si vous prévoyez de passer à la configuration manuelle, vous pouvez cliquer sur Télécharger pour télécharger la spécification Autogen pour le package de déploiement que vous avez créé dans la configuration guidée, afin de l'utiliser comme base pour votre configuration manuelle.

  13. Envoyez le package de déploiement pour examen dans Producer Portal. Une fois le colis envoyé, Google peut prendre jusqu'à deux semaines pour l'examiner et l'approuver.

Portail des partenaires

  1. Accédez au portail des partenaires et sélectionnez votre produit dans la liste.
  2. À côté de Package de déploiement, cliquez sur Modifier.
  3. Sélectionnez Générer un package, puis cliquez sur Continuer.
  4. Sélectionnez votre image de VM à l'aide des listes déroulantes Projet et Image, puis cliquez sur Continuer.
  5. Sélectionnez les paramètres Type de machine minimal et Type de machine par défaut, puis cliquez sur Continuer.
  6. Ajoutez toutes les étapes post-déploiement suivantes que vos clients doivent effectuer, puis cliquez sur Continuer.
  7. Configurez vos règles de pare-feu et d'autres options de mise en réseau, le cas échéant, puis cliquez sur Continuer.
  8. Vous pouvez choisir de déclarer un site ou une URL d'administrateur. Si votre produit nécessite une connexion, vous pouvez configurer les informations de connexion lors de l'envoi de votre solution. Cliquez sur Continuer.
  9. Sous Contenu du package de liste, sélectionnez le Nom du système d'exploitation et la Version du système d'exploitation du système d'exploitation de votre image de VM. Vous pouvez ensuite ajouter un nom et une version pour chaque logiciel supplémentaire inclus dans votre produit. Une fois que vous avez répertorié tous les contenus de votre package, cliquez sur Continuer.
  10. Une fois que vous avez terminé les étapes précédentes, votre package de solution s'affiche sous Examen. Vous pouvez télécharger le package de solution, ou cliquer sur Modifier JSON pour le modifier manuellement. Cliquez sur Enregistrer pour enregistrer le package et revenir à votre solution.

Créer un package de déploiement à l'aide de mpdev

Cette section explique comment utiliser l'outil mpdev pour créer un package de déploiement et l'envoyer pour examen.

L'outil mpdev utilise Deployment Manager Autogen pour générer les modèles Deployment Manager pour votre package de déploiement. L'outil génère le package de déploiement en fonction d'une spécification Autogen qui contient les entrées de configuration de votre produit de VM.

Pour créer votre package de déploiement à l'aide de mpdev, procédez comme suit, selon que vous utilisez Producer Portal ou le portail des partenaires pour intégrer votre produit à Google Cloud Marketplace :

Producer Portal

En règle générale, pour générer et envoyer votre package de déploiement, vous devez effectuer les opérations suivantes :

  1. Créer et configurer un bucket Cloud Storage pour stocker et gérer l'accès au package de déploiement.
  2. Créer une spécification Autogen qui inclut les détails de l'image et les exigences de déploiement pour votre produit de VM.
  3. Générer le package de déploiement basé sur vos spécifications Autogen, puis les importer dans le bucket Cloud Storage.
  4. Envoyez le package de déploiement pour examen dans Producer Portal. Une fois le colis envoyé, Google peut mettre jusqu'à deux semaines pour l'examiner et l'approuver.

Les sections suivantes expliquent comment générer et envoyer votre package de déploiement.

Créer un bucket Cloud Storage

Vous devez créer le bucket Cloud Storage dans le même projet Google Cloud public que celui utilisé pour Producer Portal et le configurer comme suit :

  • Activez la gestion des versions d'objets pour le bucket afin d'éviter que votre package de déploiement ne soit supprimé ou écrasé.
  • Attribuez le rôle Lecteur des objets Storage (roles/storage.objectViewer) à cloud-commerce-marketplace-onboarding@twosync-src.google.com.

Pour créer et configurer un bucket Cloud Storage, exécutez les commandes gsutil suivantes :

BUCKET_NAME=YOUR_BUCKET_NAME
gsutil mb $BUCKET_NAME
gsutil versioning set on gs://$BUCKET_NAME
gsutil iam ch "group:cloud-commerce-marketplace-onboarding@twosync-src.google.com:objectViewer" $BUCKET_NAME

YOUR_BUCKET_NAME correspond au nom que vous indiquez pour le nouveau bucket, ce nom étant soumis à des consignes de dénomination.

Créer une spécification Autogen

Pour créer votre spécification Autogen, nous vous recommandons d'utiliser single VM example dans le dépôt marketplace-tools comme spécification Autogen initiale, puis de la personnaliser à l'aide des détails de configurationvotre de votre VM.

Pour les cas d'utilisation plus complexes, vous pouvez configurer la saisie semi-automatique dans certains environnements de développement intégrés (IDE) afin de faciliter la modification et la validation des fichiers configurations.yaml.

Pour créer votre spécification Autogen à partir de single VM example, procédez comme suit :

  1. Consultez la spécification Autogen préconfigurée de l'exemple dans un répertoire local :
 PACKAGE=YOUR_PACKAGE_NAME
 mpdev pkg get https://github.com/GoogleCloudPlatform/marketplace-tools.git/examples/deployment-manager/autogen/singlevm $PACKAGE

YOUR_PACKAGE_NAME est le nom que vous fournissez pour l'annuaire local. Exemple : my-deployment-package.

  1. Mettez à jour la spécification avec les détails de configuration de votre VM en modifiant le fichier configurations.yaml avec les informations suivantes :

    • Nom de votre image de VM
    • Le ID du projet Google Cloud public qui héberge votre image de VM, qui est le même que celui que vous utilisez pour Producer Portal

    Pour connaître les étapes de mise à jour de l'image de la VM et des champs du projet Google Cloud dans le fichier configurations.yaml, reportez-vous au fichier README.md de single VM example.

  2. Si nécessaire, personnalisez des champs supplémentaires tels que passwords, deployInput et postDeploy. Ces champs sont situés sous DeploymentSpec dans le fichier configurations.yaml. Pour en savoir plus sur les champs disponibles pour la personnalisation, consultez la documentation de référence Autogen.

Générer un package de déploiement

Après avoir créé et personnalisé la spécification Autogen, utilisez-la pour générer les fichiers de modèle Deployment Manager pour votre package de déploiement. Pour stocker le package, vous devez l'importer dans le bucket Cloud Storage.

Pour générer et importer votre package de déploiement, procédez comme suit :

  1. Définissez l'emplacement de sortie du package de déploiement dans votre bucket Cloud Storage :

    mpdev cfg set zipPath gs://BUCKET_NAME/OBJECT
    

    BUCKET_NAME est le nom du bucket que vous avez créé pour le package ;OBJECT est le nom que vous fournissez pour l'objet Cloud Storage, ce nom étant soumis à des consignes concernant l'attribution des noms.

  2. Générez le package de déploiement :

    mpdev apply -f $PACKAGE/configurations.yaml
    

Le package de déploiement généré est compressé et importé dans votre bucket.

Pour vérifier que le modèle est correctement configuré, vous pouvez créer un déploiement en exécutant la commande suivante :

TMPDIR=$(mktemp -d)
unzip $PACKAGE/template.zip -d $TMPDIR
gcloud deployment-manager deployments create $PACKAGE --config $TMPDIR/test_config.yaml

Portail des partenaires

Créer une spécification Autogen

Nous vous recommandons de créer votre spécification Autogen initiale à l'aide de l'exemple de commande "singlevm" (single VM example) disponible dans le dépôt marketplace-tools. Pour créer votre spécification à partir de l'exemple de commande "singlevm" (single VM example), exécutez la commande suivante :

mpdev pkg get https://github.com/GoogleCloudPlatform/marketplace-tools.git/examples/deployment-manager/autogen/singlevm MY_PACKAGE

Suivez les étapes décrites dans le fichier README.md de l'exemple téléchargé. Ces étapes incluent la modification des champs du fichier configurations.yaml qui sont spécifiques à votre produit. Une fois ces étapes terminées, exécutez mpdev apply dans votre configuration mpdev modifiée afin de générer votre package Deployment Manager.

Pour obtenir une documentation détaillée des champs sous DeploymentSpec dans configurations.yaml, reportez-vous à la documentation de référence sur Autogen.

Vous pouvez également consulter d'autres exemples de configurations dans le dossier examples.

Créer des identifiants d'autorisation

Vous pouvez spécifier plusieurs mots de passe (passwords) dans la spécification DeploymentSpec du fichier configurations.yaml. Vous pouvez récupérer les mots de passe à partir du serveur de métadonnées de l'instance, et les afficher dans l'interface post-déploiement.

Générer un package de déploiement

Voici un exemple de commande qui lit la spécification du fichier MY_PACKAGE/configurations.yaml et génère un fichier ZIP à l'emplacement spécifié du fichier MY_PACKAGE/configurations.yaml :

mpdev apply -f MY_PACKAGE/configurations.yaml

Une fois votre package de déploiement créé, suivez ces instructions pour l'importer dans le portail des partenaires.

Envoyer votre package de déploiement pour examen dans Producer Portal

Si vous utilisez Producer Portal pour créer votre fiche produit Google Cloud Marketplace, après avoir créé votre package de déploiement, vous devez l'envoyer à Producer Portal afin que l'équipe Google Cloud Marketplace puisse l'examiner et approuver le package.

Pour envoyer votre package de déploiement pour examen :

Configuration guidée

  1. Dans Producer Portal, accédez à la section Package de déploiement.

  2. Pour envoyer le package de déploiement pour examen dans Producer Portal, cliquez sur ENVOYER. Une fois le colis envoyé, Google peut avoir besoin de deux semaines pour l'examiner et l'approuver.

Configuration manuelle

  1. Ouvrez Producer Portal dans Google Cloud Console:

    https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
    

    Remplacez YOUR_PUBLIC_PROJECT_ID par l'ID du projet public que vous avez créé pour Google Cloud Marketplace, par exemple my-organization-public.

  2. Dans la liste des produits, cliquez sur le nom de votre produit.

  3. Sur la page Présentation de votre produit, accédez à la section Package de déploiement, puis cliquez sur MODIFIER.

  4. Sous Spécifier l'emplacement de l'objet GCS, sélectionnez l'objet du package de déploiement que vous avez précédemment importé.

  5. Cliquez sur Valider. Le processus de validation peut prendre jusqu'à deux heures, et vous pouvez quitter l'écran une fois lorsque l'opération est en cours.

  6. Une fois que Producer Portal a lu correctement votre package de déploiement, vous pouvez cliquer sur DÉPLOYER L'APERÇU pour afficher la configuration de votre VM comme le client la verra.

  7. Une fois la validation terminée, cliquez sur SUBMIT (Envoyer) pour envoyer le package de déploiement à l'examen. Une fois le colis envoyé, Google peut mettre jusqu'à deux semaines pour l'examiner et l'approuver.

Vue client des packages de déploiement

Les sections suivantes présentent les dispositions d'écran que vos clients voient lorsqu'ils déploient votre produit, pour les solutions basées sur des packages de produit standards générés automatiquement.

Vue client du déploiement d'un package

Les éléments client d'entrée standards sont affichés sur le côté gauche de la capture d'écran suivante et comprennent la zone, le type de machine, les options de disque et les options de mise en réseau.

Si le déploiement d'un client nécessite plusieurs cartes d'interface réseau, le client peut ajouter des interfaces réseau supplémentaires en cliquant sur Ajouter une interface réseau.

Pour déployer votre produit, vos clients doivent remplir les champs de saisie, puis cliquer sur Déployer.

Vue client d'un package déployé

L'image suivante vous montre comment votre produit apparaît à vos clients après leur déploiement.

Les éléments de sortie standards sont affichés sur le côté droit de la capture d'écran suivante et comprennent l'adresse du site, le mot de passe administrateur temporaire et les informations sur les instances.