martes, 18 de diciembre de 2012

Instalar los comandos de Azure para trabaja con la shell en GNU\Linux Ubuntu 12/13

ACTUALIZACION 28-11-2013:Se han rectificado los métodos de instalación. No es necesario instalar npm ya que se incluye en el paquete node.js y no se debe instalar azure y azure-cli. Solo azure-cli ya que puede dar errores de dependencias. Sigue siendo válido para GNU\Linux Ubuntu 13.10 64 bits y versión 0.7.4 de azure, la más actual. Tened en cuenta que Azure va cambiando su infraestructura y que el cliente cambia con ella así que debemos tener actualizado el cliente siempre que podamos.
ACTUALIZACION 09-01-2013: Al contrario que azure 0.6.9 que no funcionaba, la version 0.6.10 funciona correctamente al instalarla. Podéis actualizar con el siguiente comando:
sudo npm install azure -g && sudo npm install azure-cli -g

Hola a todos de nuevo. Aquí os dejo un how-to de como instalar Azure y ejecutar comandos del Cloud de Microsoft desde un GNU\Linux.

Ya sabéis que desde hace poco Microsoft da la posibilidad de instalar máquinas virtuales de GNU\Linux en su Cloud. Creo que todavía le falta un poco de tiempo y no obstante está en Preview pero para ver como va es interesante. Yo lo uso para el trabajo pero puede que os sea útil esta información.

Previamente deberemos tener una cuenta de azure. https://www.windowsazure.com/es-es/pricing/free-trial/?WT.mc_id=AzureBG_Spain_SEM

Podéis usar el interfaz gráfico (tiene algunas limitaciones) o instalar la linea de comandos. Para ello, en nuestro GNU\Linux necesitamos tener instalado node.js.

En Ubuntu 12.04 ejecutamos lo siguiente
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
En Ubuntu 12.10, además hay que tener instalado
sudo apt-get install software-properties-common
Comprobamos las versiones
$ node -v && npm -v
v0.8.16
1.1.69
Una vez hecho debemos instalar el cliente de azure con el sistema de paquetería de node.js. El propio cliente instalará la versión de azure requerida.
sudo npm install azure-cli -g
Esto nos instalará la última versión de azure. Si nos fallara, podemos instalar la versión que queramos anterior. Para instalar una versión específica
sudo npm install azure-cli@0.6.8 -g
Con estos comandos dispondremos de Azure 0.6.8 (en este caso. 0.6.9 tiene un bug y no funciona correctamente) Comprobamos
$ azure

info:             _    _____   _ ___ ___
info:            /_\  |_  / | | | _ \ __|
info:      _ ___/ _ \__/ /| |_| |   / _|___ _ _
info:    (___  /_/ \_\/___|\___/|_|_\___| _____)
info:       (_______ _ _)         _ ______ _)_ _ 
info:              (______________ _ )   (___ _ _)
info:    
info:    Windows Azure: Microsoft's Cloud Platform
info:    
info:    Tool version 0.6.8
help:    
help:    Display help for a given command
help:      help [options] [command]
help:    
help:    Commands:
help:      account                Manage your account information and publish settings
help:      account storage        Commands to manage your Azure storage account
help:      account storage keys   Commands to manage your Azure storage account keys
help:      account affinity-group Commands to manage your Azure affinity groups
help:      config                 Manage tool local settings
help:      vm                     Commands to manage your Azure virtual machines
help:      vm location            Commands to manage your Azure locations
help:      vm endpoint            Commands to manage your Azure virtual machine endpoints
help:      vm image               Commands to manage your Azure VM images
help:      vm disk                Commands to manage your Azure virtual machine data disks
help:      site                   Commands to manage your web sites
help:      site location          Commands to manage your Azure locations
help:      site deployment        Commands to manage your git deployments
help:      site log               Commands to download diagnostic log
help:      site repository        Commands to manage your git repository
help:      site config            Commands to manage your site configurations
help:      service                Commands to manage your Azure cloud services
help:      service cert           Commands to manage your Azure certificates
help:    
help:    Options:
help:      -h, --help     output usage information
help:      -v, --verbose  use verbose output
help:      --json         use json output
Para usar la linea de comandos debemos descargar el certificado de nuestra suscripción (cuenta de azure) La suscripción gratuita de 3 meses no descarga correctamente el fichero de credenciales. Hay que tener una versión de prueba especial de Microsoft (la mía lo es por el trabajo). Es posible que con la versión de pago funcione correctamente aunque no lo puedo asegurar.
azure account download

info:    Executing command account download
info:    Launching browser to http://go.microsoft.com/fwlink/?LinkId=254432
help:    Save the downloaded file, then execute the command
help:      account import 
info:    account download command OK
Vamos al link en un navegador http://go.microsoft.com/fwlink/?LinkId=254432 y nos descargará un archivo nombre.publishsettings que deberemos importar. En nuestro caso descarga un fichero del tipo (está cambiado) Nombre140C14790L-12-5-2012-credentials.publishsettings Para importarlo
azure account import Nombre140C14790L-12-5-2012-credentials.publishsettings

info:    Executing command account import
info:    Found subscription: Nombre140C14790L
info:    Setting service endpoint to: https://management.core.windows.net/
info:    Setting default subscription to: Nombre140C14790L
info:    Use "azure account set" to change to a different one.
warn:    The 'Nombre140C14790L-12-5-2012-credentials.publishsettings' file contains sensitive information.
warn:    Remember to delete it now that it has been imported.
info:    Account publish settings imported successfully
+ Enumerating locations                                                        
info:    account import command OK
Una vez importado podemos ver la lista de cuentas con
azure account list

info:    Executing command account list
data:    Name             Id                                  
data:    ----------------  ------------------------------------
data:    Nombre140C14790L  d4be462c-87c4-4dda-b612-76525fd2e05e
Por último seleccionamos la suscripción en la que queremos usar nuestros comandos
azure account set Nombre140C14790L
Con esto, los comandos que ejecutemos de azure se ejecutarán en la cuenta Nombre140C14790L. Podemos tener varias cuentas y ejecutar comandos para cada una siempre que seleccionemos con set la cuenta o suscripción correspondiente primero. Mediante estos comandos y desde GNU\Linux Ubuntu podremos crear maquinas virtuales, borrarlas, arrancarlas, crear sites, etc. Saludos y espero que os sea útil.
Related Posts with Thumbnails