Créer votre package de déploiement

Cette page décrit la procédure à suivre pour créer un package de déploiement pour votre produit de machine virtuelle (VM). 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 d'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 utilisez Deployment Manager pour créer le package de déploiement. Deployment Manager vous permet de créer des packages de déploiement pour vos produits de VM à l'aide de fichiers de configuration simples au format YAML, JSON ou ProtoText.

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

Si votre produit est le déploiement simple d'une instance de VM unique 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, vous pouvez utiliser l'outil Open Source mpdev pour créer et personnaliser le package Deployment Manager avec des fonctionnalités supplémentaires.

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

Déploiement Description Créer le package
Simple Instance de VM unique avec règles de pare-feu de base. Google Cloud Console
Complexe Déploiement complexe, qu'il soit unique ou basé sur plusieurs VM. Le déploiement peut nécessiter l'une des fonctionnalités suivantes :
  • Vérifiez les quotas des processeurs et des 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 choisie.
Outil mpdev

Si vous ne savez pas quelle option de déploiement convient le mieux à votre produit, contactez votre ingénieur partenaire Google pour obtenir des conseils.

Avant de commencer

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

  2. Si vous utilisez l'outil mpdev pour créer le 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 à l'aide de 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:

Portail des partenaires

  1. Accédez au portail des partenaires, puis sélectionnez votre produit dans la liste.
  2. À côté de Deployment Package (Package de déploiement), cliquez sur Edit (Modifier).
  3. Sélectionnez Generate a Package (Générer un package), puis cliquez sur Continue (Continuer).
  4. Sélectionnez votre image de VM dans les listes déroulantes Projet et Image, puis cliquez sur Continuer.
  5. Sélectionnez vos 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 lorsque vous envoyez votre solution. Cliquez sur Continuer.
  9. Sous Répertorier le contenu du package, 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. Après avoir répertorié tout le contenu de votre package, cliquez sur Continuer.
  10. Une fois les étapes précédentes effectuées, votre package de solution s'affiche sous Examiner. 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.

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

Pour créer votre package de déploiement à l'aide de mpdev, suivez les instructions ci-dessous 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éez et configurez un bucket Cloud Storage pour stocker et gérer l'accès au package de déploiement.
  2. Créez 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érez le package de déploiement basé sur vos spécifications Autogen, puis importez-le dans le bucket Cloud Storage.
  4. Envoyez le package de déploiement pour examen dans Producer Portal. Une fois le package envoyé, son examen et son approbation peuvent prendre jusqu'à deux semaines.

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

Créer le bucket Cloud Storage

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

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:marketplace-ops@cloud.google.com:objectViewer" $BUCKET_NAME

YOUR_BUCKET_NAME correspond au nom que vous avez attribué au nouveau bucket, sous réserve des exigences de dénomination.

Créer votre 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 avec celle de votre VM. Informations de configuration

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 le répertoire 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 des champs de l'image de VM et du projet Google Cloud dans le fichier configurations.yaml, reportez-vous au fichier README.md de single VM example.

  2. Si nécessaire pour votre produit, personnalisez les champs supplémentaires, tels que passwords, deployInput et postDeploy. Ces champs se trouvent sous DeploymentSpec dans le fichier configurations.yaml. Pour en savoir plus sur les champs pouvant être personnalisés, 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, vous pouvez l'utiliser 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 sur votre bucket Cloud Storage:

    mpdev cfg set zipPath gs://BUCKET_NAME/OBJECT
    

    Où :BUCKET_NAME correspond au nom du bucket que vous avez créé pour le package etOBJECT correspond au nom que vous fournissez pour l'objet Cloud Storage, consignes d'attribution de noms (Installation de Python groupée).

  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

Envoyer votre package de déploiement pour examen

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 l'approuver.

Pour envoyer votre package de déploiement pour examen:

  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 et 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. Vous pouvez quitter l'écran pendant qu'il est terminé.

  6. Une fois que Producer Portal a réussi à lire le package de déploiement, vous pouvez cliquer sur PRÉSENTATION DU DÉPLOIEMENT pour voir comment le client voit votre configuration de VM.

  7. Une fois la validation terminée, cliquez sur ENVOYER pour envoyer votre package pour examen.

  8. Si vous avez déjà envoyé votre examen de conformité Open Source, cochez la case d'option confirmant que vous n'avez pas modifié votre utilisation des licences Open Source.

Portail des partenaires

Créer votre 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 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 spécifiques à votre produit. Une fois ces étapes effectuées, exécutez mpdev apply sur votre configuration mpdev modifiée pour 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 les spécifications dans MY_PACKAGE/configurations.yaml et génère un fichier ZIP à l'emplacement spécifié dans MY_PACKAGE/configurations.yaml:

mpdev apply -f MY_PACKAGE/configurations.yaml

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

Vue client des packages de déploiement

Les sections suivantes présentent les écrans que voient vos clients lorsqu'ils déploient votre produit, pour des produits basés sur des packages de solutions 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 s'affiche auprès de vos clients une fois déployé.

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.