Cette page décrit les étapes à suivre pour configurer votre environnement Google Cloud pour distribuer vos applications Kubernetes.
Créer un espace de travail
Nous vous recommandons de créer un projet dans le console Google Cloud principalement pour votre Produits Cloud Marketplace.
Pour gérer les produits que vous envoyez à Cloud Marketplace, nous vous recommandons de créer un projet dont l'ID se termine par -public
. Pour créer un projet pour vos produits, consultez la page Créer et gérer des projets.
Si vous avez déjà configuré un projet à vendre sur la place de marché Cloud que vous souhaitez utiliser, vérifiez que les rôles Identity and Access Management (IAM) sont correctement accordés pour Kubernetes, puis passez à l'étape Configurer un registre de conteneurs.
Attribuer des rôles à votre projet
Pour terminer de configurer votre projet, procédez comme suit :
Une fois votre projet créé, attribuez les rôles suivants au niveau du projet :
- Éditeur de projet, pour
cloud-commerce-marketplace-onboarding@twosync-src.google.com
- Administrateur Service Management (
roles/servicemanagement.serviceAdmin
), àcloud-commerce-marketplace-onboarding@twosync-src.google.com
etmanaged-services@cloud-marketplace.iam.gserviceaccount.com
- Éditeur de configuration (
roles/servicemanagement.configEditor
), pourcloud-commerce-producer@system.gserviceaccount.com
Pour accorder l'accès à votre projet, consultez la section Accorder, modifier et révoquer les accès à des ressources.
- Éditeur de projet, pour
Accordez les rôles suivants au niveau du service pour
cloud-commerce-procurement@system.gserviceaccount.com
:- Client du service (
roles/servicemanagement.serviceConsumer
) - Contrôleur du service (
roles/servicemanagement.serviceController
)
Pour connaître la procédure à suivre pour accorder l'accès au niveau du service, consultez Accorder et révoquer l'accès à l'API.
- Client du service (
Définissez un contact de sécurité. Pour en savoir plus, consultez la page Gérer les contacts pour les notifications.
Remplissez le formulaire d'informations sur le projet fourni par l'équipe Cloud Marketplace.
Configurer un registre de conteneurs
Vous avez besoin d'un dépôt Container Registry pour héberger les images de conteneurs de votre l'application. Artifact Analysis analyse en permanence les images de l'application les failles afin que vous puissiez examiner et résoudre les problèmes avant de soumettre votre produit sur Cloud Marketplace.
Pour configurer Container Registry, Docker et le SDK Google Cloud, consultez le guide de démarrage rapide de Container Registry.
Après avoir configuré Container Registry, dans le projet contenant votre
attribuez le rôle "Lecteur de projet"
cloud-commerce-marketplace-onboarding@twosync-src.google.com
Activer l'API Container Analysis
Vous devez activer l'API Artifact Analysis, qui analyse votre conteneur dans Container Registry pour détecter les failles. Pour obtenir un aperçu de l'analyse des failles dans Artifact Analysis, consultez consultez la documentation de Container Registry.
Ajouter votre produit à Cloud Marketplace
Pour créer et publier votre produit sur Cloud Marketplace, vous devez utiliser Producer Portal. Votre ingénieur partenaire l'active pour vous une fois que vous avez rempli le formulaire d'informations sur le projet Cloud Marketplace.
Pour publier votre produit dans Producer Portal, vous devez créer une entrée pour votre produit, puis envoyer les informations suivantes pour examen :
- Informations détaillées sur le produit : ajoutez des informations sur votre fiche et les informations marketing concernant votre produit.
- Tarifs : choisissez et spécifiez votre modèle de tarification pour déterminer le mode de paiement des clients pour votre produit.
- Images de conteneurs: fournissez le dépôt Google Container Registry qui inclut vos images de conteneurs.
- Conformité Open Source: vérifiez que votre produit est conforme aux pour les logiciels Open Source.
Vous pouvez soumettre ces examens à tout moment et dans n'importe quel ordre. Certains examens peuvent nécessiter jusqu'à deux semaines pour être approuvés. Nous vous recommandons donc de passer en revue les exigences et de commencer le plus tôt possible.
Pour créer l'entrée Cloud Marketplace de votre produit :
Ouvrez Producer Portal dans la console Google Cloud:
https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
Remplacez YOUR_PUBLIC_PROJECT_ID par l'ID public que vous avez créé pour Cloud Marketplace (par exemple,
my-organization-public
En haut de la page, cliquez sur Ajouter un produit.
Sélectionnez Kubernetes.
Sous Nom du produit, attribuez un nom à votre produit et vérifiez l'ID produit. L'ID produit est utilisé dans l'URL de votre fiche Cloud Marketplace.
Cliquez sur Create (Créer). La création de votre produit peut prendre quelques secondes.
Vous ajoutez votre modèle de tarification et les informations marketing de votre solution au cours des étapes ultérieures.
Créer un cluster de développement dans Kubernetes Engine
Pour gérer et mettre à l'échelle les clusters Kubernetes, utilisez Google Kubernetes Engine. Pour créer un cluster de test et y déployer une application de base, consultez le guide de Démarrage rapide de Google Kubernetes Engine.
Installer l'outil de développement mpdev
L'outil mpdev
est un conteneur qui regroupe des utilitaires de test et de publication des images de votre application. Bien qu'il ne soit pas nécessaire d'installer mpdev
pour effectuer la release d'une application, vous pouvez exécuter mpdev
pour vérifier votre environnement de développement et pour tester l'installation correcte de votre application sur votre cluster de développement.
Installez mpdev
à partir du dépôt GitHub des outils Cloud Marketplace.
Pour en savoir plus sur l'utilisation de mpdev
pour vérifier votre environnement et tester votre application, consultez la référence mpdev sur GitHub.
Organiser vos releases
En général, chaque version de votre application doit adopter Semantic Versioning 2.0, qui suit la convention de numérotation MAJOR.MINOR.PATCH
. Chaque version doit posséder un numéro de version unique, tel que 1.0.1
, 1.0.2
, 1.3.1
, etc.
Si vous le souhaitez, vous pouvez ajouter un trait d'union après le numéro de version pour ajouter un modificateur de version préliminaire, tel que 1.3.1-alpha201910
. Les modificateurs de version préliminaire peuvent être utilisés pour stocker et mettre en évidence toutes les informations supplémentaires que vous jugez utiles, telles que les dates de compilation indiquant la date de création des versions.
Nous vous recommandons de publier votre logiciel en canaux. Chaque canal est une série de versions présentant des mises à jour rétrocompatibles. Vos canaux de publication doivent être basés sur une version mineure, telle que 4.1.x
. Une bonne pratique consiste à éviter d'utiliser des noms de version génériques tels que latest
.
Par exemple, si vous publiez la version 2.0
de votre logiciel sur Cloud Marketplace et que les versions 2.0.1
, 2.0.5
, etc., sont rétrocompatibles avec 2.0
, placez ces versions sur le canal de publication 2.0
.
Lorsque vous publiez une version de votre application incompatible avec les précédentes, ou une version qui oblige les utilisateurs à suivre une procédure de migration manuelle, publiez-la sur un nouveau canal, afin que les utilisateurs puissent planifier leurs mises à jour.
Choisir des identifiants de produit
Vous devez sélectionner les identifiants suivants pour vos images d'entreprise, de produit et de conteneur, qui sont utilisés pour créer vos URL Cloud Marketplace et les URI de vos images de conteneur :
Nom de votre entreprise : Par exemple, si le nom de votre entreprise est Examplesoft Inc., vous pouvez utiliser l'identifiant
examplesoft
.Nom de votre produit : Par exemple, si le nom de votre produit est Example Pro, utilisez l'identifiant
example-pro
.Le canal de publication de votre produit, tel que
4.0
.Images de conteneur : Sélectionnez un identifiant unique pour chaque image de conteneur dans votre application. Les identifiants suivants sont requis pour toutes les applications :
- Image principale : cette image de conteneur est l'image principale de votre produit, elle utilise le même identifiant que celui-ci. Par exemple, si votre identifiant de produit est
example-pro
, l'image principale utilise le même identifiant. deployer
: image du conteneur de déploiement destinée au canal. Le déploiement s'exécute lorsque les utilisateurs déploient votre application depuis la console Google Cloud Vous créez une image de déploiement lorsque vous créer un package d'application.
- Image principale : cette image de conteneur est l'image principale de votre produit, elle utilise le même identifiant que celui-ci. Par exemple, si votre identifiant de produit est
Par exemple, pour son produit Example Pro, l'entreprise Examplesoft Inc. choisit les identifiants suivants :
Nom | Identifiant | |
---|---|---|
Société | Examplesoft Inc | examplesoft |
Produit | Example Pro | example-pro |
Image [1] (primaire) | Serveur Example Pro | N/A |
Image [2] | File d'attente Example | example-queue |
Image [deployer] | N/A | deployer |
Canal de publication [1] | Version 4.xx | 4.0 |
Canal de publication [2] | Version 5.xx | 5,0 |
Pour ces identifiants, les informations suivantes sont générées automatiquement :
URL du produit dans Cloud Marketplace :
https://console.cloud.google.com/marketplace/details/examplesoft/example-pro
URI de l'image du conteneur :
marketplace.gcr.io/examplesoft/example-pro:4.0
marketplace.gcr.io/examplesoft/example-pro/example-queue:4.0
marketplace.gcr.io/examplesoft/example-pro/deployer:4.0
marketplace.gcr.io/examplesoft/example-pro:5.0
marketplace.gcr.io/examplesoft/example-pro/example-queue:5.0
marketplace.gcr.io/examplesoft/example-pro/deployer:5.0