Pendant le développement itératif de vos modèles de cloud ou lorsque vous disposez d'un modèle final, vous pouvez mettre à la disposition des consommateurs les modèles dans le catalogue Service Broker en libre-service. Pour améliorer l'expérience utilisateur, vous pouvez créer un formulaire de demande personnalisé. Le formulaire personnalisé est plus puissant que les options d'entrée de modèle simples.

Par quoi commencer

  • Vérifiez que vous avez l'infrastructure qui prend en charge votre modèle. Sinon, commencez par Didacticiel : configuration et test de l'infrastructure et des déploiements vSphere dans Cloud Assembly, puis continuez avec les autres didacticiels.
  • Vérifiez que vous avez marqué certains pools de ressources comme env:dev et env:prod. Pour plus d'informations, reportez-vous à la section Didacticiel : utilisation de balises dans Cloud Assembly pour gérer des ressources vSphere.
  • Assurez-vous que vous avez un modèle de cloud déployable, semblable à celui ci-dessous. Ce didacticiel commence par le modèle suivant.
    formatVersion: 1
    inputs:
      installedOS:
        type: string
        title: Operating System
        description: Select the operating system.
        enum:
          - centos
          - ubuntu
      placement:
        type: string
        enum:
          - 'env:dev'
          - 'env:prod'
        default: 'env:dev'
        title: Select Placement for Deployment
        description: Target Environment
    resources:
      Cloud_vSphere_Disk_1:
        type: Cloud.vSphere.Disk
        properties:
          capacityGb: 1
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: '${input.installedOS}'
          installedOS: '${input.installedOS}'
          flavor: small
          constraints:
            - tag: '${input.placement}'
          tags:
            - key: db
              value: mysql
          networks:
            - network: '${resource.Cloud_NSX_Network_1.id}'
              tags:
                - key: db
                  value: mysql
          attachedDisks:
            - source: '${resource.Cloud_vSphere_Disk_1.id}'
      Cloud_NSX_Network_1:
        type: Cloud.NSX.Network
        properties:
          networkType: existing
          tags:
            - key: NGINX
              value: web

Étape 1 : ajouter des entrées au modèle de cloud

Outre l'entrée de type de système d'exploitation existante, cette procédure met à jour l'entrée de positionnement et ajoute une entrée de taille. Lorsque vous personnalisez le formulaire de demande Service Broker, ces champs sont les trois champs du formulaire de demande qui sont personnalisés.

  1. Dans Cloud Assembly, sélectionnez Concevoir > Modèle de cloud, puis créez ou ouvrez le modèle fourni ci-dessus.

    L'exemple de modèle est utilisé pour expliquer les différentes options et inclut des exemples de valeurs. Adaptez-le à votre environnement .

  2. Ajoutez la variable de taille et définissez les tailles dans la section Entrées.
    1. Dans la section Cloud_vSphere_Machine_1, ajoutez une variable à la propriété flavor.
       flavor: '${input.size}'
    2. Dans la section Entrées, ajoutez une taille de nom d'entrée d'utilisateur afin que l'utilisateur puisse sélectionner la taille du déploiement. Il s'agit parfois de la taille que vous avez définie pour les zones de cloud.
       size:
          type: string
          title: Deployment size
          description: Select the the deployment t-shirt size.
          enum:
            - small
            - medium
            - large
  3. Mettez à jour les entrées de positionnement avec un terme descriptif plutôt que des chaînes de balise.

    Ces balises de contrainte correspondront aux balises de capacité que vous avez ajoutées dans Didacticiel : utilisation de balises dans Cloud Assembly pour gérer des ressources vSphere.

    1. Dans la section Entrées, ajoutez une entrée d'utilisateur nommée positionnement afin que l'utilisateur puisse sélectionner développement ou production comme positionnement du déploiement.

      Cet exemple utilise l'attribut oneOf, qui vous permet de présenter une étiquette en langage naturel tout en envoyant les chaînes dont le processus de déploiement a besoin. Par exemple, les balises env:dev et env:prod.

       
      placement:
          type: string
          oneOf:
            - title: Development
              const: 'env:dev'
            - title: Production
              const: 'env:prod'
          default: 'env:dev'
          title: Select Deployment Placement
          description: Target Environment
  4. Examinez le code YAML complet pour vous assurer qu'il ressemble à l'exemple suivant.
    formatVersion: 1
    inputs:
      installedOS:
        type: string
        title: Operating system
        description: Select the operating system.
        enum:
          - centos
          - ubuntu
      placement:
        type: string
        oneOf:
          - title: Development
            const: 'env:dev'
          - title: Production
            const: 'env:prod'
        default: 'env:dev'
        title: Select Deployment Placement
        description: Target Environment
      size:
        type: string
        title: Deployment size
        description: Select the the deployment t-shirt size.
        enum:
          - small
          - medium
          - large
    resources:
      Cloud_vSphere_Disk_1:
        type: Cloud.vSphere.Disk
        properties:
          capacityGb: 1
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: '${input.installedOS}'
          installedOS: '${input.installedOS}'
          flavor: '${input.size}'
          constraints:
            - tag: '${input.placement}'
          tags:
            - key: db
              value: mysql
          networks:
            - network: '${resource.Cloud_NSX_Network_1.id}'
              tags:
                - key: db
                  value: mysql
          attachedDisks:
            - source: '${resource.Cloud_vSphere_Disk_1.id}'
      Cloud_NSX_Network_1:
        type: Cloud.NSX.Network
        properties:
          networkType: existing
          tags:
            - key: NGINX
              value: web
  5. Cliquez sur Déployer, vérifiez que la deuxième page de la demande ressemble à l'exemple suivant, puis vérifiez que le déploiement se trouve dans le développement sélectionné du pool de ressources de production après le déploiement.

    Page deux du formulaire de demande de déploiement montrant les entrées de type de système d'exploitation, de positionnement du déploiement et de taille de déploiement.

Étape 2 : gérer la version et publier le modèle de cloud

Lorsque vous avez un modèle déployable, vous pouvez désormais le mettre à disposition dans le catalogue Service Broker pour d'autres utilisations à déployer. Pour que le modèle de cloud puisse être découvert afin de pouvoir l'ajouter au catalogue, vous devez le publier. Dans cette procédure, nous allons en gérer la version pour capturer un snapshot du modèle, puis publier le modèle.

  1. Sélectionnez Concevoir > Modèle de cloud, puis ouvrez le modèle dans le canevas de conception.
  2. Cliquez sur Version et entrez une description.

    Boîte de dialogue de création de version avec un numéro de version, une description et la case Publier cochée.
  3. Cochez la case Publier et cliquez sur Créer.

    La publication du modèle de cloud ne l'ajoute pas automatiquement à Service Broker. Sa publication le rend détectable afin de pouvoir l'ajouter au catalogue.

Étape 3 : ajouter le modèle de cloud au catalogue Service Broker

Vous pouvez utiliser le catalogue Service Broker pour fournir des modèles de cloud à d'autres consommateurs de votre organisation dans lesquels ils n'ont pas besoin de savoir comment créer un modèle. Le catalogue leur permet de déployer le modèle.

Avant de pouvoir ajouter le modèle en tant qu'élément de catalogue, vous devez l'importer dans Service Broker. Vous pouvez uniquement importer des modèles de cloud publiés.

  1. Pour ouvrir Service Broker à partir de Cloud Assembly, cliquez sur le menu des applications dans le coin supérieur droit.
    Le menu des applications dans le coin supérieur droit de la page est ouvert et Service Broker est mis en surbrillance.
  2. Cliquez sur Service Broker.
  3. Importez le modèle de cloud.
    1. Dans Service Broker, sélectionnez Contenu et stratégies > Sources de contenu.
    2. Cliquez sur Nouveau, puis sélectionnez VMware Cloud Templates.
    3. Entrez un Nom.

      Dans ce didacticiel, entrez Cloud Assembly DevProject.

    4. Pour Projet, sélectionnez le projet Projet de développement que vous avez créé dans Cloud Assembly.
    5. Cliquez sur Valider.

      Le système doit indiquer qu'il a trouvé au moins un élément.

    6. Une fois validé, cliquez sur Créer et importer.

      Cloud Assembly DevProject est ajouté à la liste en tant que source de contenu.

  4. Rendez le modèle de cloud disponible dans le catalogue.
    1. Sélectionnez Contenu et stratégies > Stratégies > Définitions.
    2. Cliquez sur Nouvelle stratégie, puis sur Stratégie de partage de contenu.
    3. Entrez un Nom.

      Pour ce didacticiel, entrez DevProject Policy.

    4. Dans la liste Portée, sélectionnez Projet de développement.
    5. Dans la section Partage de contenu, cliquez sur Ajouter des éléments.
    6. Dans la boîte de dialogue Partager des éléments, sélectionnez Cloud Assembly DevProject et cliquez sur Enregistrer.
    7. Dans la section Utilisateurs, sélectionnez les utilisateurs et les groupes du projet que vous souhaitez voir dans le catalogue.
    8. Cliquez sur Créer.
  5. Pour vérifier que le modèle de développement a été ajouté au catalogue, cliquez sur Catalogue.
  6. Cliquez sur Demander sur la fiche du modèle de développement.

    Notez que les entrées que vous avez vues sur le modèle de cloud sont fournies ici. L'étape suivante consiste à personnaliser le formulaire de demande.


    Le formulaire de demande de catalogue pour l'élément de catalogue de modèle de déploiement. Cela inclut les options de nom de déploiement, de système d'exploitation, de positionnement et de taille de déploiement.

Étape 4 : créer un formulaire personnalisé pour le modèle

L'objectif de ce formulaire personnalisé est de fournir un formulaire dans lequel l'utilisateur sélectionne le système d'exploitation et le positionnement en fonction des balises env:dev ou env:prod. Ensuite, l'option env:dev permet à l'utilisateur de sélectionner petite ou moyenne. La taille grande n'est pas disponible. Cependant, si l'utilisateur sélectionne env:prod, il n'y a pas d'option pour sélectionner grande. La taille est masquée à l'utilisateur, mais est incluse dans la demande.

  1. Pour créer un formulaire personnalisé dans Service Broker, sélectionnez Contenu et stratégies > Contenu.
  2. Cliquez sur les trois points verticaux à gauche de l'entrée Modèle de développement, puis cliquez sur Personnaliser le formulaire.
  3. Personnalisez l'option d'entrée.
    1. Dans le canevas, cliquez sur les champs dans le canevas et configurez les propriétés comme spécifié dans le tableau suivant.
      Nom de champ du canevas Apparence Valeurs Contraintes
      Système d'exploitation

      Étiquette et type

      • Étiquette = Système d'exploitation

      Options de valeur

      • Options de valeur = Constante
      • Source de la valeur = centos|CentOS,ubuntu|Ubuntu

      Cet exemple utilise les options de valeur pour personnaliser tous les noms de système d'exploitation en minuscules avec le nom du système d'exploitation préféré.

      Sélectionner le positionnement du déploiement

      Options de valeur

      • Options de valeur = Constante
      • Source de la valeur = env:dev|Development,env:prod|Production
      Taille du déploiement

      Visibilité

      • Source de la valeur = Valeur conditionnelle
      • Définir la valeur = Oui si Sélectionner le positionnement du déploiement est égal à env:dev

      Valeur par défaut

      • Source de la valeur = Valeur conditionnelle
      • Définir la valeur = grande si Sélectionner un déploiement est égal à env:prod

      Options de valeur

      • Options de valeur = Constante
      • Source de la valeur = small|Small,medium|Medium

      Notez que la source de la valeur n'inclut pas grande. Grande est exclue, car elle est uniquement disponible pour la production et est dans ce cas la valeur requise. La valeur grande est incluse dans la demande de déploiement sans action de l'utilisateur.

    2. Pour activer le formulaire dans le catalogue, cliquez sur Activer.
    3. Cliquez sur Enregistrer.
  4. Pour garantir les résultats corrects en envoyant au moins une demande de développement de petite taille et de production, testez le formulaire dans le catalogue.

    Utilisez les exemples suivants pour vérifier les résultats.

    1. Testez le formulaire de demande de petite taille en fournissant un nom, Petit test dans cet exemple, et en sélectionnant CentOS, Développement et Petit pour les options.
      Formulaire de demande de catalogue avec Petit test comme nom de déploiement, et Développement et Petit sélectionné.
    2. Pour vérifier le déploiement Développement-Petit, sélectionnez Ressources > Déploiements, puis cliquez sur le déploiement Petit test.
    3. Dans l'onglet Topologie, cliquez sur Cloud_vSphere_Machine, puis localisez la section Propriétés personnalisées dans le volet de droite.

      Quelques valeurs à vérifier incluent cpuCount=2 et flavor=small.


      Page de topologie de déploiement avec Cloud_vSphere_Machine mis en surbrillance dans le canevas, et cpuCount=2 et flavor=small mis en surbrillance dans le volet de droite.
    4. Testez le formulaire de demande de production en entrant un nom, Grand test dans cet exemple, puis sélectionnez CentOS et Production pour les options.

      Rappelez-vous que vous avez configuré le formulaire pour qu'il ne s'affiche pas et ne demande pas à l'utilisateur de sélectionner la taille.


      Formulaire de demande de catalogue avec Grand test comme nom de déploiement et Production sélectionné.
    5. Pour vérifier le déploiement Production, sélectionnez Ressources > Déploiements, puis cliquez sur le déploiement Grand test.
    6. Dans l'onglet Topologie, cliquez sur Cloud_vSphere_Machine, puis localisez la section Propriétés personnalisées dans le volet de droite.

      Quelques valeurs à examiner incluent cpuCount = 8 et flavor = large.


      Page de topologie de déploiement avec Cloud_vSphere_Machine mis en surbrillance dans le canevas et cpuCount=8 et flavor=large mis en surbrillance dans le volet de droite.

Étape 5 : contrôlez les versions du modèle de cloud dans le catalogue

Dans la plupart des cas, vous souhaitez rendre uniquement les derniers modèles de cloud disponibles dans le catalogue Service Broker. La procédure suivante prend en charge le développement itératif, lorsque vous publiez une version d'un modèle et l'ajoutez au catalogue, mais vous avez désormais amélioré le modèle et vous souhaitez remplacer la version actuelle par la version la plus récente.

À l'étape 2, vous avez contrôlé la version d'un modèle et vous l'avez publié. Vous êtes donc familiarisé avec le processus. À l'étape 3, vous avez ajouté ce modèle au catalogue. La procédure associe les deux étapes au fur et à mesure que vous effectuez un développement itératif et mettez à jour le catalogue avec la dernière version.

Vous avez la possibilité de rendre plusieurs versions disponibles dans le catalogue.

  1. Dans Cloud Assembly, contrôlez la version du modèle que vous souhaitez désormais rendre disponible dans le catalogue.
    1. Sélectionnez Concevoir > Modèle de cloud, puis ouvrez le modèle dans le canevas de conception.
    2. Cliquez sur Historique des versions.
    3. Localisez la version à ajouter au catalogue, puis cliquez sur Version.
    4. Entrez une Description, cochez la case Publier, puis cliquez sur Créer.

      À ce stade, vous avez la possibilité de conserver l'ancienne version dans le catalogue. Si vous souhaitez conserver plusieurs versions, ignorez l'étape suivante dans laquelle vous annulez la publication d'une version.

    5. Pour conserver une seule version du modèle disponible dans le catalogue, examinez l'historique des versions et cliquez sur Annuler la publication pour chaque version que vous ne voulez pas conserver dans le catalogue.
  2. Pour mettre à jour le catalogue Service Broker avec la dernière version et remplacer toute version antérieure, vous devez collecter la nouvelle version.
    1. Dans Service Broker, sélectionnez Contenu et stratégies > Sources de contenu.
    2. Cliquez sur la source de contenu Cloud Assembly DevProject utilisée dans ce didacticiel.
    3. Cliquez sur Valider.

      Vous devez voir un message indiquant qu'un élément est trouvé.

    4. Cliquez sur Enregistrer et importer.
  3. Vérifiez que le catalogue affiche les versions nécessaires ou aucune version.
    1. Dans Service Broker, cliquez sur Catalogue.
    2. Localisez l'élément du catalogue et cliquez sur Demander.
    3. En haut du formulaire de demande, cliquez sur Version et vérifiez la ou les versions.

    La capture d'écran suivante montre 8 versions.


    Capture d'écran du nouveau formulaire de demande avec une seule version disponible.