Durante el desarrollo iterativo de las plantillas de nube o cuando tiene una plantilla final, puede hacer que las plantillas estén disponibles para los consumidores en el catálogo de autoservicio de Service Broker. Para mejorar aún más la experiencia del usuario, puede crear un formulario de solicitud personalizado. El formulario personalizado es más eficaz que las opciones de entrada de la plantilla simple.

Primeros pasos

  • Compruebe que tenga la infraestructura que admite la plantilla. Si no la tiene, comience con Tutorial: Configurar y probar implementaciones e infraestructuras de vSphere en Cloud Assembly y continúe con el resto de los tutoriales.
  • Compruebe haber etiquetado a algunos grupos de recursos como env:dev y env:prod. Para obtener más información, consulte Tutorial: Usar etiquetas en Cloud Assembly para administrar recursos de vSphere.
  • Asegúrese de tener una plantilla de nube que se pueda implementar, similar a la siguiente. Este tutorial comienza con la siguiente plantilla.
    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

Paso 1: Agregar entradas a la plantilla de nube

Además de la entrada de tipo de sistema operativo existente, este procedimiento actualiza la entrada de colocación y agrega una entrada de tamaño. Estos son los tres campos del formulario de solicitud de Service Broker que se personalizan.

  1. En Cloud Assembly, seleccione Diseño > Plantilla de nube y cree o abra la plantilla proporcionada anteriormente.

    La plantilla de muestra se utiliza para explicar las diferentes opciones e incluye valores de muestra. Adáptela a su entorno.

  2. Agregue la variable de tamaño y defina los tamaños en la sección Entradas.
    1. En la sección Cloud_vSphere_Machine_1, agregue una variable a la propiedad flavor.
       flavor: '${input.size}'
    2. En la sección Entradas, agregue un tamaño de nombre de entrada de usuario para que el usuario pueda seleccionar el tamaño de la implementación. Esto se conoce, en ocasiones, como el T-shirt size (tamaño de camiseta) que definió para las zonas de nube.
       size:
          type: string
          title: Deployment size
          description: Select the the deployment t-shirt size.
          enum:
            - small
            - medium
            - large
  3. Actualice las entradas de colocación con un término descriptivo en lugar de las cadenas de etiquetas.

    Estas etiquetas de restricción coincidirán con las etiquetas de capacidad que agregó en Tutorial: Usar etiquetas en Cloud Assembly para administrar recursos de vSphere.

    1. En la sección Entradas, agregue una entrada de usuario denominada colocación para que el usuario pueda seleccionar desarrollo o producción como ubicación de la implementación.

      En este ejemplo, se utiliza el atributo oneOf, que permite presentar una etiqueta de lenguaje natural y, a la vez, enviar cadenas que requiere el proceso de implementación. Por ejemplo, las etiquetas env:dev y 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. Revise el YAML completo para asegurarse de que tenga un aspecto similar al del siguiente ejemplo.
    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. Haga clic en Implementar, compruebe que la segunda página de la solicitud tenga un aspecto similar al del siguiente ejemplo y, a continuación, compruebe que la implementación se encuentre en el desarrollo seleccionado del grupo de recursos de producción después de la implementación.

    Página dos del formulario de solicitud de implementación que muestra las entradas del tipo de sistema operativo, la colocación de la implementación y el tamaño de la implementación.

Paso 2: Versión y publicación de la plantilla de nube

Cuando tenga una plantilla que se pueda implementar, luego podrá hacer que esté disponible en el catálogo de Service Broker para que se implemente en otros usos. Para que la plantilla de nube sea detectable y pueda agregarla al catálogo, debe publicarla. En este procedimiento, crearemos una versión para capturar una instantánea de la plantilla y, a continuación, publicaremos la plantilla.

  1. Seleccione Diseño > Plantilla de nube y abra la plantilla en el lienzo de diseño.
  2. Haga clic en Versión e introduzca una descripción.

    Crear un cuadro de diálogo de versión con un número de versión, una descripción y la casilla de verificación Publicación seleccionada.
  3. Seleccione la casilla de verificación Publicación y haga clic en Crear.

    La publicación de la plantilla de nube no la agrega automáticamente a Service Broker. En cambio, hace que sea detectable para que pueda agregarla al catálogo.

Paso 3: Agregar la plantilla de nube al catálogo de Service Broker

Puede usar el catálogo de Service Broker para proporcionar plantillas de nube a otros consumidores de la organización si no necesitan tener conocimientos sobre cómo crear una plantilla. El catálogo les permite implementar la plantilla.

Antes de poder agregar la plantilla como un elemento del catálogo, debe importarla a Service Broker. Solo puede importar plantillas de nube publicadas.

  1. Para abrir Service Broker desde Cloud Assembly, haga clic en el menú de aplicaciones en la esquina superior derecha.
    El menú de aplicaciones situado en la parte superior derecha de la página está abierto y Service Broker está resaltado.
  2. Haga clic en Service Broker.
  3. Importe la plantilla de nube.
    1. En Service Broker, seleccione Contenido y directivas > Orígenes de contenido.
    2. Haga clic en Nueva y seleccione VMware Cloud Templates.
    3. Introduzca un Nombre.

      En este tutorial, introduzca Cloud Assembly DevProject.

    4. En Proyecto, seleccione el Proyecto de desarrollo que creó en Cloud Assembly.
    5. Haga clic en Validar.

      El sistema debe indicar que encontró al menos un elemento.

    6. Cuando se valide, haga clic en Crear e importar.

      Cloud Assembly DevProject se agrega a la lista como origen de contenido.

  4. Haga que la plantilla de nube esté disponible en el catálogo.
    1. Seleccione Contenido y directivas > Directivas > Definiciones.
    2. Haga clic en Nueva directiva y en Directiva de uso compartido de contenido.
    3. Introduzca un Nombre.

      En este tutorial, introduzca Directiva de DevProject.

    4. En la lista Ámbito, seleccione Proyecto de desarrollo.
    5. En la sección Uso compartido de contenido , haga clic en Agregar elementos .
    6. En el cuadro de diálogo Compartir elementos, seleccione Cloud Assembly DevProject y haga clic en Guardar.
    7. En la sección Usuarios, seleccione los usuarios y los grupos del proyecto que desea ver en el catálogo.
    8. Haga clic en Crear.
  5. Para verificar que la plantilla de desarrollo se haya agregado al catálogo, haga clic en Catálogo.
  6. Haga clic en Solicitar en la tarjeta de la Plantilla de desarrollo.

    Observe que las entradas que vio en la plantilla de nube se proporcionen aquí. El siguiente paso consiste en personalizar el formulario de solicitud.


    El formulario de solicitud del catálogo para el elemento de catálogo Plantilla de implementación. Incluye las opciones de nombre de la implementación, sistema operativo, colocación y tamaño de la implementación.

Paso 4: Crear un formulario personalizado para la plantilla

El objetivo de este formulario personalizado es proporcionar un formulario en el que el usuario seleccione el sistema operativo y la colocación en función de las etiquetas env:dev o env:prod. A continuación, la opción env:dev permite que el usuario seleccione las opciones pequeño o mediano, pero la opción grande no está disponible. Sin embargo, si el usuario selecciona env:prod, no es posible elegir la opción grande; el tamaño se oculta para el usuario, pero se incluye en la solicitud.

  1. Para crear un formulario personalizado en Service Broker, seleccione Contenido y directivas > Contenido.
  2. Haga clic en los tres puntos verticales a la izquierda de la entrada Plantilla de desarrollo y haga clic en Personalizar formulario.
  3. Personalice la opción de entrada.
    1. En el lienzo, haga clic en los campos del lienzo y configure las propiedades como se especifica en la siguiente tabla.
      Nombre del campo del lienzo Apariencia Valores Restricciones
      Sistema operativo

      Etiqueta y tipo

      • Etiqueta: Sistema operativo

      Opciones de valor

      • Opciones de valor: Constante
      • Origen de valor: centos|CentOS,ubuntu|Ubuntu

      En este ejemplo, se utilizan las opciones de valor para personalizar todos los nombres de sistemas operativos en minúscula con el nombre del sistema operativo preferido.

      Seleccionar colocación de implementación

      Opciones de valor

      • Opciones de valor: Constante
      • Origen de valor: env:dev|Development,env:prod|Production
      Tamaño de implementación

      Visibilidad

      • Origen del valor: valor condicional
      • Establecer valor: Sí si Seleccionar colocación de implementación es igual a env:dev

      Valor predeterminado

      • Origen del valor: valor condicional
      • Establecer valor: grande si Seleccionar implementación es igual a env:prod

      Opciones de valor

      • Opciones de valor: Constante
      • Origen de valor: small|Small,medium|Medium

      Tenga en cuenta que el origen del valor no incluye la opción de valor grande. La opción grande se excluye porque solo está disponible para producción y es el valor requerido. El valor grande se incluye en la solicitud de implementación sin intervención del usuario.

    2. Para activar el formulario en el catálogo, haga clic en Habilitar.
    3. Haga clic en Guardar.
  4. Para garantizar los resultados correctos enviando al menos una solicitud de desarrollo pequeño y una solicitud de producción, pruebe el formulario en el catálogo.

    Utilice los siguientes ejemplos para comprobar los resultados.

    1. Para probar el formulario de solicitud de desarrollo pequeño, proporcione un nombre (Probar pequeño en este ejemplo) y seleccione las opciones CentOS, Desarrollo y Pequeño.
      Formulario de solicitud del catálogo con el nombre de implementación Probar pequeño y las opciones Desarrollo y Pequeño seleccionados.
    2. Para comprobar la implementación de desarrollo pequeño, seleccione Recursos > Implementaciones y haga clic en la implementación Probar pequeño.
    3. En la pestaña Topología, haga clic en Cloud_vSphere_Machine y, a continuación, busque la sección Propiedades personalizadas en el panel derecho.

      Algunos de los valores que se deben revisar incluyen cpuCount = 2 y tipo=pequeño.


      Página de la topología de implementación con Cloud_vSphere_Machine resaltado en el lienzo y cpuCount=2 y tipo=pequeño resaltados en el panel derecho.
    4. Para probar el formulario de solicitud Producción, introduzca un nombre (Probar grande en este ejemplo) y seleccione las opciones CentOS y Producción.

      Recuerde que configuró el formulario para que no se muestre ni se requiera que el usuario seleccione el tamaño.


      Formulario de solicitud del catálogo con el nombre de implementación Probar grande y la opción Producción seleccionada.
    5. Para comprobar la implementación de producción, seleccione Recursos > Implementaciones y haga clic en la implementación Probar grande.
    6. En la pestaña Topología, haga clic en Cloud_vSphere_Machine y, a continuación, busque la sección Propiedades personalizadas en el panel derecho.

      Algunos de los valores que se deben revisar incluyen cpuCount = 8 y tipo=grande.


      Página de la topología de implementación con Cloud_vSphere_Machine resaltado en el lienzo y cpuCount=8 y tipo=grande resaltados en el panel derecho.

Paso 5: Controlar las versiones de la plantilla de nube en el catálogo

En la mayoría de los casos, querrá que solo las plantillas de nube más recientes estén disponibles en el catálogo de Service Broker. El siguiente procedimiento admite el desarrollo iterativo, donde se publica una versión de la plantilla y se la agrega al catálogo, pero ahora mejoró la plantilla y desea reemplazar la versión actual por la más reciente.

En el paso 2, creó y publicó una plantilla, por lo que está familiarizado con el proceso. En el paso 3, la agregó al catálogo. El procedimiento une los dos pasos a medida que se realiza el desarrollo iterativo y se actualiza el catálogo con la versión más reciente.

Tiene la opción de poner varias versiones a disposición en el catálogo.

  1. En Cloud Assembly, cree una versión de la plantilla que ahora desea que esté disponible en el catálogo.
    1. Seleccione Diseño > Plantilla de nube y abra la plantilla en el lienzo de diseño.
    2. Haga clic en Historial de versiones.
    3. Encuentre la versión que desea agregar al catálogo y haga clic en Crear versión.
    4. Introduzca una Descripción, seleccione la casilla de verificación Versión y haga clic en Crear.

      En este punto, tiene la opción de mantener la versión anterior en el catálogo. Si desea tener varias versiones, ignore el siguiente paso en el que anula la publicación de una versión.

    5. Para que solo haya una versión de la plantilla disponible en el catálogo, revise la lista del historial de versiones y haga clic en Anular publicación en todas las versiones que no desee en el catálogo.
  2. Para actualizar el catálogo de Service Broker con la versión más reciente y reemplazar cualquier versión anterior, debe recopilar la nueva versión.
    1. En Service Broker, seleccione Contenido y directivas > Orígenes de contenido.
    2. Haga clic en el origen de contenido Cloud Assembly DevProject que se utiliza en este tutorial.
    3. Haga clic en Validar.

      Debería ver un mensaje que indica que se encontró un elemento.

    4. Haga clic en Guardar e importar.
  3. Compruebe que el catálogo muestre las versiones necesarias o ninguna versión.
    1. En Service Broker, haga clic en Catálogo.
    2. Busque el elemento del catálogo y haga clic en Solicitar.
    3. En la parte superior del formulario de solicitud, haga clic en Versión y compruebe la versión o las versiones.

    En la siguiente captura de pantalla se muestran ocho.


    Captura de pantalla del nuevo formulario de solicitud con una sola versión disponible.