Importando VMs a vRealize Automation 8.x (Onboarding)

Como podemos recordar de nuestro antecesor vRealize Automation 7.x, el proceso mediante el cual se importaban máquinas virtuales al inventario para que pudieran ser “administradas” desde el Portal de vRA, empleaba la funcionalidad Bulk Imports (ver mas). Sin embargo, esta funcionalidad no esta disponible en la nueva y mejorada versión de vRealize Automation 8.x. Por lo que surge la pregunta ¿Cómo hacemos entonces para importar las máquinas de vCenter Server?

Pues bien, vRealize Automation 8.x ha incluido dentro de sus funcionalidades un proceso de importación similar pero conocido como Onboarding el cual básicamente funciona creando Onboarding Plans o Planes de Incorporación en español.

Antes de pasar a la explicación, es importante anotar que el proceso de Onboarding NO facultará a una VM importada para adoptar todas las acciones de día 2 disponibles en vRA. Este proceso se realiza generalmente con el fin de garantizar la administración de las maquinas desde la plataforma de vRealize Automation de tal manera que el usuario final pueda realizar acciones básicas como tomar snapshots, reiniciar, apagar, encender, lanzar consola, etc. Sin requerir el acceso al vCenter Server.

Como es costumbre veamos un poco de teoría…

Onboarding Plans (o planes de incorporación) son usados para identificar VMs que han sido recolectadas desde una Cloud Account pero que aun no son administradas por un Proyecto (Project) de vRealize Automation Cloud Assembly.

Cuando se agrega una Cloud Account que contiene maquinas virtuales que fueron desplegadas fuera de vRealize Automation Assembly, las maquinas no son administradas por Cloud Assembly hasta que se realiza el proceso de Onboarding.

El Proceso incluye básicamente los siguientes pasos:

  1. Crear un Plan.
  2. Poblar el plan con las maquinas.
  3. Ejecutar el plan para importar las VMs.

Durante la creación del plan podemos definir si queremos asociar un Blueprint (Cloud Template) al despliegue y si queremos que las VMs sean importadas un único despliegue para todas las VMs o varios despliegues. Mas adelante aclararemos un poco mejor este tema!

Adicionalmente, podemos hacer el Onboarding de una o muchas maquinas dentro del mismo plan, las cuales pueden ser elegidas de forma manual o utilizando un reglas de filtrado basadas en un criterio como Name, Status, IP y tags.

Como datos adicionales se puede realizar el Onboarding de hasta 3500 máquinas no administradas en un solo Onboarding Plan por hora, o realizar el Onboarding de hasta 17.000 máquinas no administradas simultáneamente en varios Onboarding Plans por hora.

Por ultimo, las máquinas que están disponibles para el Onboarding se muestran en la sección Resources > Machines como Discovered en la columna Origen. Después de realizar el proceso de Onboarding aparecerán en la columna Origen como Deployed.

PRERREQUISITOS

  • Verifique que cuenta con el rol de usuario requerido (Cloud Assembly Administrator).
  • Cree y prepare un Project (Proyecto) y puéblelo con una o mas Cloud Accounts, o utilice uno Project existente.
  • Verifique en la sección Resources > Machines que tiene maquinas en estado Discovered.

PROCEDIMIENTO

Inicie sesión en vRealize Automation 8.x con un usuario que tenga el rol de Cloud Assembly Administrator.

Verifique que las VMs que desea importar a vRA aparezcan en Infrastructure | Resource | Machines como Discovered en la columna Origin.

Una vez identificadas las VMs que queremos importar. Debemos entonces preparar el ambiente para la importación.

Todo Project, tiene asociada una Cloud Zone por lo que debemos tener una disponible. Como sabemos una Cloud Zone tendrá definido los recursos de computo que utilizará un Project (Proyecto). El proceso de Onboarding utilizará esa configuración de proyecto para importar las máquinas.

Sino tiene una Cloud Zone creada puede crearla haciendo clic en Infrastructure | Configure | Cloud Zones y luego NEW CLOUD ZONES.

Seleccione un Cloud Account disponible, defina un nombre y una descripción.

Clic en Compute para filtrar los recursos de computo que serán asignados a la Cloud Zone

Como sabemos los Projects (proyectos) manienen la relación entre usuarios y los recursos de computo sobre los cuales ellos pueden desplegar cargas de trabajo. Sino tiene un Project existente debe crear uno como sigue.

En la sección Infrastructure | Configure | Projects, clic en NEW PROJECT.

Defina un nombre y una descripción.

Asigne un usuario o grupo de usuarios con el role de Administrador y Miembro.

En Provisioning definimos la Cloud Zone creada en pasos anteriores.

Una vez tenemos los prerrequisitos listos, podemos ir a la sección Infrastructure | Onboarding para hacer clic en NEW ONBOARDING PLAN.

Defina un nombre para el Plan de Onboarding, seleccione la Cloud Account y Project creados anteriormente.

Clic en CREATE.

En este punto tendremos dos opciones: La primera permite crear una regla para seleccionar las maquinas manualmente, mientras la segunda permite seleccionar automáticamente las VMs basadas en un criterio. A continuación explicaremos el procedimiento para cada una.

OPCION 1. SELECCIONAR LAS VMs MANUALMENTE

Dentro de la configuración del Onboarding Plan hacer Clic en la pestaña Machine y luego Clic en ADD MACHINE, para seleccionar las maquina que queremos importar de manera manual.

Para este ejemplo utilizaremos las VMs Centos01 y Centos02 creadas directamente en el vCenter server y que por lo tanto son candidatas a ser importadas.

Clic en OK, y nos preguntara el tipo de Deployment (Despliegue) que será asociado a las maquinas importadas. Podremos asignar un despliegue separado para cada VM, un Despliegue para todas las VMs seleccionadas (solo si seleccionamos más de una VM), agregar las VMs a un plan de despliegue o agregar las VMs a un Despliegue existente.

Cada una de ellas es bastante explicita por lo que no nos detendremos a explicar cada una y continuaremos utilizando para este caso la opción Create one plan deployment that contain all the mahines para incluir todas las VMs seleccionadas en un único despliegue y facilitar la administración del mismo.

Al hacer clic en CREATE obtendremos un resumen como el siguiente.

Ahora seleccionamos la pestaña Deployments y verificamos que todas las maquinas se encuentre dentro de un mismo Despliegue como lo indicamos anteriormente.

Como podemos observar el nombre del despliegue por defecto comienza con la palabra Deployment- seguido de un identificador de despliegue de vRA.

Si seleccionamos el Deployment se habilitara la opción RENAME para renombrar el Despliegue y asignar un nombre personalizado.

Al hacer clic en SAVE tendremos el nombre del Despliegue actualizado como se muestra en la siguiente imagen.

Adicionalmente si seleccionamos de nuevo el despliegue podremos observar que además de RENAME tambien se habilitan las opciones BLUEPRINT y REMOVE.

REMOVE evidentemente removerá el despliegue y tendremos que seleccionar nuevamente las maquinas a importar. No obstante si analizamos la opción BLUEPRINT, tendremos la opción de asignar un Blueprint (muy básico) al despliegue mediante la opción Create Blueprint in Cloud Assembly format, o no crear ningún Blueprint mediante la opción None (use runtime snapshot).

Si decidimos utilizar la opción de crear un Blueprint, debemos tener presente que la vista del Blueprint es solo un preview del código asociado y solo se puede editar hasta después del proceso de Onboarding.

Como podemos observar en el código YAML la propiedad imageRef tiene el valor “no_image_available“, por lo que deberá ser modificado a su valor correspondiente una vez terminado el Onboarding.

Nota:

Cuando el plan de Onboarding usa una máquina vSphere, debe editar el Blueprint después que el proceso de Onboarding haya completado. El proceso de Onboarding no puede enlazar la fuente vSphere Machine y su vSphere Template y el Blueprint resultante contendrá una entrada en el código como imageRef: “no image available”.

El Blueprint no puedra ser usado para un futuro despliegue hasta que especifique el nombre de Template correcto en el campo imageRef.

OPCIONAL 2. CREAR UNA REGLA PARA SELECCIONAR AUTOMATICAMENTE LAS VMS

Por otra parte, sino queremos utilizar la seleccion automática entonces debemos hacer Clic en la pestaña Rules y luego ADD RULE para agregar la reglas que definirán las VMs involucradas en el Onboarding Plan.

Defina un nombre para la regla y utilice el filtro para importar las máquinas basado en un criterio. Para el ejemplo haremos clic en Name para filtrar por nombre de VM.

Ahora escribimos en el filtro el nombre por el cual vamos a filtrar las VMs. En el ejemplo importaremos las máquinas con nombre centos. Y Clic en SAVE.

Como resultado obtendrá una vista similar a la siguiente.

Clic en Machines para verificar que las VMs filtradas corresponden a las deseadas. En caso de requerir la exclusión de alguna máquina de la lista podrá seleccionarla y utilizar las opciones EXCLUDE o REMOVE.

Clic en la pestana Deployments para definir el tipo de despliegue. Por defecto cuando utilizamos reglas, el Onboarding Plan deja despliegues separados para cada una de las máquinas y con un nombre de despliegue definido por vRA.

Como podemos ver en la siguiente imagen, por defecto cada máquina agregada tendrá un despligue.

Si seleccionamos uno de los Despliegues se habilitará la opción RENAME para renombrarlo y asignar un nombre personalizado. Clic en RENAME si deseamos cambiarlo.

Defina el nombre personalizado del Despliegue y luego clic en SAVE

Si tenemos varias VMs en despliegues independientes tendríamos que renombrar cada uno de ellos si deseamos personalizarlo.

Por otra parte si queremos agrupar el despliegue para varias VMs utilizando las reglas de filtrado, entonces requeriremos el uso de los Tags de vSphere del tal manera que al seleccionar las máquinas basadas en un criterio de selección (Rule), tengan un tag asociado como se muestra en el siguiente ejemplo, en donde la regla tiene el filtro Name:BG*.

En la siguiente imagen podemos observar que para el ejemplo las máquinas filtradas tienen un tag de vsphere en la columna Tags.

Nota

Si utilizamos la opción de selección automática mediante criterios de búsqueda, necesitaremos definir en la pestaña Summary del Onboarding Plan, el valor asociado al Deployment tag key y de esta forma definir en el plan, que agruparemos las maquinas del despliegue basado en su tag key.

Bueno, hasta aquí todo en orden!… Pero lo importante es que independientemente del método utilizado para seleccionar las máquinas a importar, una vez creado el Plan solo debemos ejecutarlo haciendo Clic en RUN.

El tiempo de ejecución dependerá de la cantidad de máquinas en el plan. Para el caso del ejemplo no tardó mas de 5 segundos.

Una vez ejecutado el plan, el estado de las VMs ha cambiado a Onboarded

Y en la pestaña Summary podremos ver un resumen de la ultima ejecución. Recordemos que estos planes han sido diseñados para poder ser reutilizados, por lo que solo será cuestión de cambiar las reglas (Rules) o las Maquinas (Machines) y ejecutarlo nuevamente en caso de ser necesario.

Para verificar que las VMs ahora hacer parte de vRA debemos ir a Infrastructure | Resources | Machines y podemos observar que las VMs incluidas en el Onboarding Plan ahora se muestran en la columna Origin como Deployed.

Al hacer clic sobre la Pestaña Deployments del Cloud Assembly veremos un despliegue con el nombre definido por nosotros y que contiene además las VMs seleccionadas.

Como nota adicional, si durante la configuracion de Deployment seleccionamos la opción Create Blueprint in Cloud Assembly format, como comentamos anteriormente, un nuevo Blueprint se creará automáticamente al ejecutar el Plan.

Al editarlo podemos observar que únicamente contendrá los componentes asociados a las virtual machine seleccionadas en el plan.

Como se mencionó anteriormente el valor asociado a imageref debe ser cambiado una vez el proceso de Onboarding haya terminado, con el fin que el Blueprint pueda ser utilizado. Aunque a mi parecer, es mejor utilizar la opción de no crear el Blueprint ya que el generado es muy básico.

Por otra parte, si utilizamos la opción None (use runtime snapshot) durante la configuración de Deployment  no se creará ningún Blueprint durante el proceso de Onboarding.

Hasta aquí el proceso de Onboarding esta completo! ¿Pero qué pasa con las acciones del días 2? Pues bien, será necesario crear una o varias políticas en el Service Broker, de tal manera que los usuarios miembros del Project (proyecto) en el cual importamos las VMs tengan restringidas las acciones sobre las máquinas importadas.

Esto debido a que al no ser una máquina virtual concebida originalmente por vRA, no podrá realizar algunas acciones como resize, update, redeploy, etc.

Recordemos que el proceso de Onboarding generalmente se realiza para habilitar en el usuario final acciones básicas como tomar snapshots, reiniciar, apagar, encender, lanzar consola, etc. Que permiten al usuario administrar la maquina desde el portal de vRealize Automation.

Como podremos observar después del Onboarding, el despliegue permitirá al usuario todas las acciones asociadas al Deployment, dentro de las cuales tenemos la opción de eliminar el despliegue; lo cual podría eliminar las VMs importadas. No queremos que al usuario se le ocurra probar esa acción en una VM importada ¿verdad?

De igual manera por default las VMs dentro del despliegue tienen todas las acciones permitidas y muchas veces solo queremos permitirles algunas necesarias para su operación.

Para solucionar esto entonces, necesitaremos definir una política de día 2, para lo cual necesitaremos ingresar a vRealize Automation con un role Service Broker Administrator y hacer clic en Content & Policies | Policies | Definitions y luego clic en NEW POLICY.

Seleccionaremos la opción Day 2 Actions Policy.

Y en la configuración de la política definiremos lo siguiente:

  • Nombre de la política.
  • Descripción (opcional).
  • El alcance de la política (a que proyectos va a ser aplicada).
  • Si será únicamente para un Despliegue especifico también podremos definirlo mediante el campo Deployment criteria.
  • Tipo de cumplimiento (Soft).
  • Role de los usuarios a quienes estará aplicada (Member).
  • Las acciones permitidas.

Las acciones permitidas pueden ser fácilmente filtradas utilizando la caja de texto en el cual podremos escribir vsphere.machine para listar todas las acciones permitidas a una máquina vSphere y de esta manera poder seleccionarlas.

Nota: Al no ser un despliegue nativo de vRA, no agregaremos en la lista ninguna accion para deployment.

Una vez configurada la política de día 2 obtendremos una vista como la siguiente.

Ahora solo queda verificar con un usuario Miembro del Service Broker y del Proyecto en el cual se importaron las VMs, que las acciones permitidas sean las correctas.

Iniciamos sesión con un usuario del miembro del Service Broker y del proyecto

Clic en Service Broker.

 Verificamos que no aparezcan Actions disponibles para el Deployment.

Y únicamente las acciones (Connect to Remote Console, Power Off, Power On y Reboot) configuradas en la política 2Day-Actions-Imported para Machine vSphere, estarán disponibles.