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
yenv: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.
- En Cloud Assembly, seleccione 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.
- Agregue la variable de tamaño y defina los tamaños en la sección Entradas.
- En la sección Cloud_vSphere_Machine_1, agregue una variable a la propiedad
flavor
.flavor: '${input.size}'
- 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
- En la sección Cloud_vSphere_Machine_1, agregue una variable a la propiedad
- 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.
- 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 etiquetasenv:dev
yenv: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
- 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.
- 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
- 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.
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.
- Seleccione y abra la plantilla en el lienzo de diseño.
- Haga clic en Versión e introduzca una descripción.
- 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.
- Para abrir Service Broker desde Cloud Assembly, haga clic en el menú de aplicaciones en la esquina superior derecha.
- Haga clic en Service Broker.
- Importe la plantilla de nube.
- En Service Broker, seleccione .
- Haga clic en Nueva y seleccione VMware Cloud Templates.
- Introduzca un Nombre.
En este tutorial, introduzca Cloud Assembly DevProject.
- En Proyecto, seleccione el Proyecto de desarrollo que creó en Cloud Assembly.
- Haga clic en Validar.
El sistema debe indicar que encontró al menos un elemento.
- Cuando se valide, haga clic en Crear e importar.
Cloud Assembly DevProject se agrega a la lista como origen de contenido.
- Haga que la plantilla de nube esté disponible en el catálogo.
- Seleccione .
- Haga clic en Nueva directiva y en Directiva de uso compartido de contenido.
- Introduzca un Nombre.
En este tutorial, introduzca Directiva de DevProject.
- En la lista Ámbito, seleccione Proyecto de desarrollo.
- En la sección Uso compartido de contenido , haga clic en Agregar elementos .
- En el cuadro de diálogo Compartir elementos, seleccione
Cloud Assembly DevProject
y haga clic en Guardar. - En la sección Usuarios, seleccione los usuarios y los grupos del proyecto que desea ver en el catálogo.
- Haga clic en Crear.
- Para verificar que la plantilla de desarrollo se haya agregado al catálogo, haga clic en .
- 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.
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.
- Para crear un formulario personalizado en Service Broker, seleccione .
- Haga clic en los tres puntos verticales a la izquierda de la entrada Plantilla de desarrollo y haga clic en Personalizar formulario.
- Personalice la opción de entrada.
- 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.
- Para activar el formulario en el catálogo, haga clic en Habilitar.
- Haga clic en Guardar.
- En el lienzo, haga clic en los campos del lienzo y configure las propiedades como se especifica en la siguiente tabla.
- 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.
- 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.
- Para comprobar la implementación de desarrollo pequeño, seleccione y haga clic en la implementación Probar pequeño.
- 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.
- 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.
- Para comprobar la implementación de producción, seleccione y haga clic en la implementación Probar grande.
- 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.
- 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.
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.
- En Cloud Assembly, cree una versión de la plantilla que ahora desea que esté disponible en el catálogo.
- Seleccione y abra la plantilla en el lienzo de diseño.
- Haga clic en Historial de versiones.
- Encuentre la versión que desea agregar al catálogo y haga clic en Crear versión.
- 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.
- 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.
- 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.
- En Service Broker, seleccione .
- Haga clic en el origen de contenido Cloud Assembly DevProject que se utiliza en este tutorial.
- Haga clic en Validar.
Debería ver un mensaje que indica que se encontró un elemento.
- Haga clic en Guardar e importar.
- Compruebe que el catálogo muestre las versiones necesarias o ninguna versión.
- En Service Broker, haga clic en .
- Busque el elemento del catálogo y haga clic en Solicitar.
- 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.