vSphere 7 Deep dives – vCenter Profiles

Que tal gente el día de hoy comenzare con esta nueva serie de artículos sobre las nuevas capacidades que se nos entregaron con vSphere 7, incluire los nuevos updates que han sido entregados hasta este punto.

Comenzaremos hablando de una nueva funcionalidad en vCenter, la creación de perfiles de configuración para nuestras instancias de vCenter con vCenter Profiles.

¿Que son los vCenter Profiles?

Desde hace mucho tiempo se tenían peticiones por parte de clientes de VMware para poder estandarizar y tener un método de configuración declarativo para vCenter Server logrando tener claro el estado final de configuración entre las instancias de vCenter.

vCenter Profiles permite exportar la configuración existente de vCenter, logrando cubrir los siguientes casos de uso:

  • Propagación de configuraciones especificas – Digamos que quieren cambiar el servidor STMP para el envío de alarmas a 30 instancias de vCenter, existen multiples maneras de aplicar estos cambios de manera automatizada pero con vCenter Profiles nos aseguramos que el perfil es 100% estandarizado:
  • Configuración y onboarding estandarizados – Estandarización de configuración inicial y reconstrucción de ambientes logrando consistencia:
  • Identificar y resolver derivaciones de configuración – Con vCenter Profiles podemos identificar cambios en la configuración estándar, esto nos apoya a cumplir posibles estándares regulatorios y/o definidos por la empresa, una vez identificados se aplica el perfil requerido y estos son corregidos:

¿Como funciona vCenter Profiles?

Se tienen dos métodos para interactuar con vCenter profiles, a través del GUI de vCenter Server o través del API de REST.

Para poder trabajar con el GUI nos firmamos a vCenter y nos dirigimos a Development Center y hacemos click en la pestaña de “Api Explorer”:

Una vez dentro del explorador de API seleccionaremos el vCenter correcto (Endpoint) y seleccionamos el API de Appliance, después hacemos una búsqueda para “profile”, para este ejemplo seleccionaremos la llamada

/api/appliance/vcenter/settings/v1/config-current

Vamos a usar esta llamada para exportar la configuración actual, el resultado es en JSON, con este resultado podemos armar un perfil básico para pruebas:

Podemos notar que en el la respuesta se nos da la opción de copiar o descargar, al descargarlo se almacenara como JSON

Para crear un “template” de el Body de la operación PUT de rest lo mas fácil es buscar la llamada de API:

/api/appliance/vcenter/settings/v1/config

Ahi hacemos click en el link de “ApplianceVcenterSettingsV1ConfigCreate” (a la derecha)

Al realizar esto nos dará una estructura del body, esta la podemos usar en conjunto de el output de la configuración actual para crear un perfil. Para motivos de prueba cree un perfil bastante sencillo (JSON):

{
   "name":"agustin",
   "description":"agustin",
   "desired_state":{
      "appliance":{
         "access_settings": {
            "shell": {
                "enabled": false,
                "timeout": 0
            },
            "ssh": {
                "enabled": false
            },
            "console_cli": {
                "enabled": true
            },
            "dcui": {
                "enabled": true
            }
        }
         
         
      }
   }
}

Ahora mostrare como crear el perfil desde postman, sin necesidad de tener acceso al GUI de vCenter. Para esto tenemos que crear una sesión con una operación PUT en:

https://FQDN/api/session

Tenemos que agregar en la pestaña de autorización un tipo de autorización básica (basic auth), en este caso estoy usando administrator@vsphere.local. El resultado de esta operación es el ID de sesión:

Ahora que tenemos una sesión vamos a crear el perfil, para esto creamos una nueva llamada en postman de tipo PUT, en la siguiente ruta:

https://FQDN/api/appliance/vcenter/settings/v1/config

Después vamos a hacer click en la pestaña de “headers” donde vamos a agregar el ID de sesión para autenticarnos:

Una vez lista la autenticación en los headers es momento de ir a la sección “body” donde vamos a poner el JSON que cree para el perfil que queremos crear y hacemos click en Send:

Esto nos va a dar un resultado que es el numero del perfil:

Ahora como ultimo punto voy a hacer una verificación de la configuración actual vs el perfil que acabamos de crear, para esto vamos a usar el siguiente llamada GET:

/api/appliance/vcenter/settings/v1/config/{version}?action=scan&vmw-task=true

En este caso lo ejecute desde el API explorer, donde te tenemos que ejecutar lo que se encuentra entre brackets con la versión de perfil, nos dará una respuesta que es el ID del task, con esto podemos consultar el resultado:

Vamos a consultar el resultado de dicho task, ahora lo haremos desde postman, para esto usaremos la siguiente llamada:

/rest/cis/tasks/

En este caso es una operación GET, agregaremos el resultado/respuesta de la previa llamada, que como ya les comente es el ID de la task:

Aquí se nos muestra que elementos que forman parte del perfil consultado son cumplidos por la instancia de vcenter, en el screenshot podemos ver que el habilitado de SSH se busca que este “deshabilitado” pero en mi instancia consultada esta habilitado.

Claramente este ejemplo practico solo fue una muestra rápida de como funcionan estos perfiles de vCenter, también como poder tener acceso al API desde el API Explorer y Postman, espero esto les de una idea de como comenzar a hacer uso de los diferentes APIs.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s