Puede crear recursos personalizados para compilar plantillas de nube mediante flujos de trabajo de vRealize Orchestrator. En este caso práctico, se agrega un recurso personalizado que agrega un host SSH. A continuación, puede incluir el recurso en las plantillas de nube. Este procedimiento también agrega un flujo de trabajo de actualización para que los usuarios cambien la configuración de SSH después de la implementación, en lugar de realizar acciones del día 2 individuales.

Los recursos personalizados son objetos de acción de extensibilidad u objetos de vRealize Orchestrator que se administran a través de vRealize Automation Cloud con las acciones de ciclo de vida definidas en el recurso personalizado. El servicio de plantilla de nube llama automáticamente a los flujos de trabajo de vRealize Orchestrator o las acciones de extensibilidad adecuados cuando se activa la operación asociada con una acción de ciclo de vida específica. Para ampliar la funcionalidad del tipo de recurso, también puede seleccionar acciones de extensibilidad o flujos de trabajo de vRealize Orchestrator que se pueden utilizar como operaciones del día 2.

Este caso práctico utiliza flujos de trabajo integrados que se ofrecen en la biblioteca de vRealize Orchestrator. Incluye cadenas o valores preceptivos para demostrar cómo realizar el proceso. Puede modificarlos para que se adapten a su entorno.

Para su referencia, en este caso práctico se utiliza un proyecto denominado DevOpsTesting. Puede reemplazar el proyecto por uno que ya tenga.

Requisitos previos

  • Compruebe que configuró una integración de vRealize Orchestrator. Consulte Configurar una integración de vRealize Orchestrator en Cloud Assembly.
  • Compruebe que los flujos de trabajo que utiliza para las acciones de creación, actualización, destrucción y del día 2 existan en vRealize Orchestrator y se ejecuten correctamente desde allí.
  • En vRealize Orchestrator, busque el tipo de recurso que utilizan los flujos de trabajo. Todos los flujos de trabajo incluidos en este recurso personalizado deben utilizar el mismo tipo de recurso. En este caso práctico, el tipo de recurso es SSH:Host. Para obtener más información sobre la validación de tipos de recurso, consulte Tipos de recursos personalizados para plantillas de nube de Cloud Assembly.
  • Compruebe que sabe cómo configurar e implementar una plantilla de nube de máquina.

Procedimiento

  1. Cree un recurso personalizado de host SSH para agregar SSH a una plantilla de nube.
    En este paso, se agrega el recurso personalizado al lienzo de diseño de la plantilla de nube como un tipo de recurso.
    1. En Cloud Assembly, seleccione Diseño > Recursos personalizados y haga clic en Nuevo recurso personalizado.
    2. Proporcione los siguientes valores.

      Recuerde que, excepto por los nombres de los flujos de trabajo, estos son valores de muestra.

      Tabla 1.
      Ajuste Valor de ejemplo
      Nombre SSH Host - DevOpsTesting Project

      Este es el nombre que aparece en la paleta de tipos de recursos de la plantilla de nube.

      Tipo de recurso Custom.SSHHost

      El tipo de recurso debe empezar como Custom. y cada tipo de recurso debe ser único.

      A pesar de que la inclusión de Custom. no está validada en el cuadro de texto, la cadena se agrega automáticamente si la elimina.

      Este tipo de recurso se agrega al lienzo de diseño para poder usarlo en la plantilla de nube.

    3. Para habilitar este tipo de recurso en la lista de tipos de recursos de la plantilla de nube, compruebe que la opción Activar esté habilitada.
    4. Seleccione el ajuste Ámbito, que hace que el tipo de recurso esté disponible para el proyecto DevOpsTesting.
    5. En Basado en, compruebe que la opción Inventario de vRO esté seleccionada como proveedor de acciones de ciclo de vida.
    6. Seleccione los flujos de trabajo que definen el recurso.
      Ajuste Ajuste
      Acciones del ciclo de vida: Crear Seleccione el flujo de trabajo Agregar host SSH.

      Si tiene varias integraciones de vRealize Orchestrator, seleccione el flujo de trabajo en la instancia de integración que utilice para ejecutar estos recursos personalizados.

      Después de seleccionar el flujo de trabajo, el menú desplegable de tipo externo pasa a estar disponible y se establece automáticamente como SSH:Host. Un tipo de origen externo solo se puede utilizar una vez si se comparte y una vez por proyecto. En este caso práctico, se proporciona el recurso personalizado únicamente para el proyecto DevOpsTesting. Si tenía otros flujos de trabajo que requieren el tipo SSH:Host, debe crear recursos personalizados individuales para cada proyecto.

      Acciones del ciclo de vida: Actualizar Seleccione el flujo de trabajo Actualizar host SSH.
      Acciones de ciclo de vida: Destruir Seleccione el flujo de trabajo Eliminar host SSH.
    7. Revise los valores de clave y tipo de esquema en la pestaña Propiedades para comprender las entradas del flujo de trabajo que puede configurar en la plantilla de nube.
      El esquema enumera los valores de entrada obligatorios y opcionales definidos en el flujo de trabajo. Los valores de entrada obligatorios se incluyen en el YAML de la plantilla de nube.

      En el flujo de trabajo Agregar host SSH, hostname, port y username son valores de entrada obligatorios. Las otras propiedades del esquema no lo son. También puede utilizar el esquema para determinar dónde desea crear enlaces a otros valores de campo, flujos de trabajo o acciones. Los enlaces no se incluyen en este caso práctico.

    8. Para terminar de crear el recurso personalizado, haga clic en Crear.
  2. Cree una plantilla de nube que agregue el host SSH cuando lo implemente.
    1. Seleccione Diseño > Plantillas de nube y haga clic en Nuevo desde > Lienzo en blanco.
    2. Asigne el nombre Machine with SSH Host a la plantilla de nube.
    3. Seleccione el proyecto DevOpsTesting y haga clic en Crear.
    4. Agregue y configure una máquina de vSphere.
    5. En la lista de recursos personalizados que aparece a la izquierda de la página de diseño de la plantilla de nube, arrastre el tipo de recurso SSH Host - DevOpsTesting Project al lienzo.
      Nota: Para seleccionar el recurso personalizado, puede desplazarse hacia abajo y seleccionarlo en el panel de la izquierda, o bien puede buscarlo en el cuadro de texto Buscar tipos de recursos. Si el recurso personalizado no aparece, haga clic en el botón de actualización que se encuentra junto al cuadro de texto Buscar tipos de recursos.
      Un recordatorio de que el tipo de recurso está disponible porque se configuró para el proyecto. Si estaba creando una plantilla de nube para otro proyecto, no podrá ver el tipo de recurso.
    6. A la derecha, edite el código YAML para agregar los valores de entrada obligatorios.
      Agregue una sección inputs en el código para que los usuarios puedan proporcionar el nombre de usuario y el nombre de host en el momento de la implementación. En este ejemplo, el puerto predeterminado es 22. En el siguiente ejemplo, algunos de estos valores son datos de muestra. Los valores pueden ser diferentes.
      inputs: 
        hostname:
          type: string
          title: The hostname of the SSH Host
        username:
          type: string
          title: Username
      
    7. En la sección resources, agregue el código ${input.input-name} para solicitar la selección del usuario.
      resources:
        Custom_SSHHost_1:
          type: Custom.SSHHost
          properties:
            port: 22
            hostname: '${input.hostname}'
            username: '${input.username}'
      
  3. Implemente la plantilla de nube.
    1. En la página de diseñador de plantillas de nube, haga clic en Implementar.
    2. Introduzca el Nombre de la implementación SSH Host Test.
    3. Seleccione la Versión de plantilla de nube y haga clic en Siguiente.
    4. Complete las entradas de implementación.
    5. Haga clic en Implementar.
  4. Supervise la solicitud de aprovisionamiento en la página Implementaciones para asegurarse de que el host SSH se incluya en la implementación y de que esta se realice correctamente.

Qué hacer a continuación

Una vez que la plantilla de nube probada esté en funcionamiento, podrá empezar a utilizar el recurso personalizado SSH Host con otras plantillas de nube.