43 views
###### Palabras Clave: `ARSAT Blog` `CloudMonkey` `CloudStack APIs` Liberá todo el poder de las APIs de la Nube de ARSAT con una sola herramienta: Cloudmonkey === ##### Contexto Muchas veces desde las áreas encargadas del despliegue y la operación de infraestructura IT, administración de sistemas y otras áreas similares es necesario realizar tareas complejas en las plataformas de nube que son difíciles de llevar a cabo desde una interfaz gráfica; ya sea por la escala de la tarea, por su complejidad o por la cantidad de pasos requeridos para llevarla a cabo desde la GUI. Para estos casos, resulta muy útil utilizar herramientas que interactúen directamente con las APIs de nuestro servicios de Nube y alcanzar todo el potencial que ellas nos brindan. Cloudmonkey es una de estas herramientas. Nos permite interactuar vía comandos API a los servicios IaaS y potenciar nuestra interacciones con el servicio. </br> ## Instalación de CMK o Cloudmonkey La instalación cloudmonkey en sistemas operativos Linux es bastante sencilla y se realiza en 3 simples pasos: 1) Descargamos el binario: ``` wget https://github.com/apache/cloudstack-cloudmonkey/releases/download/6.4.0/cmk.linux.x86-64 ``` 2) Otorgamos permisos de ejecución: ``` chmod +x <archivo binario de cloudmonkey> ``` 3) Lo movemos al path: ``` mv <archivo binario cloudmonkey> /usr/bin/cloudmonkey ``` ::: info :memo: NOTA Última versiones disponibles y versiones para sistemas operativos Linux y Windows :point_right: [Aquí](https://github.com/apache/cloudstack-cloudmonkey/releases) ::: </br> ## Primer Acceso y Configuración a CMK 1) Una vez realizada la instalación, como primer paso ejecutamos el comando cloudmonkey (cmk) con siguiente comando: ```bash $ cloudmonkey ``` ![Screenshot_1](https://hackmd.io/_uploads/S1kpVi-xA.png) </br> </br> 2) Aquí definimos el nombre del perfil de la nube con la que vamos a interacturar: ```bash (localcloud) 🐱 > set profile nube-arsat ``` ![Screenshot_2](https://hackmd.io/_uploads/ryoEusbgA.png) </br> </br> 3) Omitimos las advertencias de sincronizado y definimos la url de conexión a las API con el siguente comando: ```bash (nube-arsat) 🐱 > set url https://cloud.arsat.com.ar/client/api ``` ![Screenshot_3](https://hackmd.io/_uploads/rJIkis-l0.png) </br> </br> 4) Ahora debemos ingresar a la UI de la plataforma que deseamos gestionar con cloudmonkey (Apache CloudStack) y en el menú "Accounts" - "nombre-cuenta" - "View Users" - "nombre-usuario" copiamos los valores "API Key" y "Secret Key" como se ve a continuación: </br> ![Screenshot_13](https://hackmd.io/_uploads/Hy0YLBvWR.png) </br> ::: info :rotating_light: Importante Tanto el valor apikey como el valor secretkey deben ser solicitados mediante un ticket al mail soporte@arsat.com.ar. Una vez resuelta la solicitud se podrán visualizar dichos valores desde la UI de la plataforma en la sección correspondiente. ::: </br> 5) Omitimos las advertencias de sincronizado y definimos la apikey y secretkey de nuestro usuario con los siguentes comando: ```Bash (nube-arsat) 🐱 > set apikey copiar-apikey-aquí ``` ![Screenshot_4](https://hackmd.io/_uploads/rkXweCWg0.png) ```Bash (nube-arsat) 🐱 > set secretkey copiar-secretkey-aquí ``` ![Screenshot_5](https://hackmd.io/_uploads/ByeOe0-eA.png) </br> </br> 6) Por último realizamos las sincronización de las API con el comando sync obteniendo como resultado el descubrimiento de la totalidad de las API a las que se tiene permiso: ```bash (nube-arsat) 🐱 > sync ``` ![Screenshot_6](https://hackmd.io/_uploads/By94On-lR.png) ![Screenshot_7](https://hackmd.io/_uploads/SyaEun-x0.png) </br> 7) Listo!:sparkles: Ya estamos listos para ejecutar comandos APIs. </br> ## Algunos ejemplos sencillos **Listar instancias o máquinas virtuales** :computer: ``` list virtualmachines filter=name,state,created ``` **Listar redes** :globe_with_meridians: ``` list networks filter=name,state,type,networkofferingname, ``` **Listar discos** :floppy_disk: ``` list volumes filter=name,type,vmname,state ``` **Listar usuarios** :construction_worker: ``` list users filter=created,username,firstname,lastname,roletype,is2faenabled,state, ``` </br> ::: info :memo: Nota La documentación completa de comandos API :point_right: [Aquí](https://cloudstack.apache.org/api/) ::: </br> ## Multiple Perfiles Adicionalmente cloudmonkey cuenta con la particularidad de poder utilizar múltiples perfiles de usuarios o plataformas de nube basadas en Apache CloudStack. Para agregar perfiles adicionales es necesario llevar a cabo TODOS los pasos listados en el apartado anterior [*"Primer Acceso y Configuración a CMK"*](#Primer-Acceso-y-Configuración-a-CMK) pero designando un nuevo nombre al perfil que se agrega y asignando los valores correspondientes a la nueva plataforma (URl) o al nuevo usuario (ApiKey y SecretKey). ## Cambiar entre Perfiles Para intercambiar entre perfiles creados en cloudmonkey utilizamos el comando ```set profile``` y evocamos el nombre del perfil al que se desea acceder como se observa a continuación: ```bash (nube-básica) 🐱 > set profile nombre-de-perfil ``` ::: info :memo: NOTA Al escribir el comando ```set profile``` y presionando la tecla "tab" (autocompletado) cloudmonkey lista los perfiles existentes disponibles previamente configurados. Se debe considerar que el nombre del perfil establecido es "key sensitive" por lo que para cambiar entre perfiles se debe respetar mayúsculas y minísculas del nombre del perfil preexistente. ::: ###### tags: `ARSAT Blog` `CloudMonkey` `CloudStack APIs`