Azure
Contenido
Introduccion
Mis pruebas con Azure
Usando la línea de comandos
Para usar la línea de comandos en Linux hace falta tener instalado nodejs y npm.
En Ubuntu
$ apt-get install nodejs npm
Cabe destacar que a diferencia de otras distros, el comando para ejecutar un nodejs no es "node", sino "nodejs". Para igual se puede crear un enlace simbólico
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
Así algunos scripts .js podrán ser ejecutado sin en la primera línea del script está "#!/usr/bin/node"
La herramienta de azure se puede instalar con npm:
$ npm install -g azure
Logandose
Antes de nada hay que hacer login en Azure:
$ azure login
aparece un mensaje en consola instandote a ir a una URL, e introducir un código, después de lo cual tendrás que poner tus credenciales. Eso creará en tu ~/.azure un fichero con las nuevas credenciales de sesion (temporales)
NOTA: seguro que las credenciales se pueden guardar en local con un certificado y así no hace falta estar logandose cada vez.
Creando una VM
Esta fue mi primera prueba creando una VM
$ azure vm create --verbose --json --location "West Europe" -e 22 -n admin2 ardemans-admin2 -t ~/.ssh/pmblanco.pub.pem -P -w Main -b services 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-72-20160308 pmblanco --custom-data "./test.sh"
La máquina se creó pero parece que no ejecutó el test.sh que enviaba en el custom-data. Parece que esto solo fucinoa si la imagen de la vm tiene cloud-init, y en el caso de azure esta solo viene con las imágenes de ubuntu.
Otra de las cosas extrañas que me ha pasado es que la máquina tiene IP pública pero parece que el dns se ha asociado a la IP interna, por lo menos durante los primeros instantes nada mas crear la vm.
ARM (azure resource management)
Pues resulta que tienen dos tipos de administracion, orientado a servicio y orentiado a recursos, y por ahí pone que recomiendan ir pasando a ARM. En esta página explican la diferencia.
Creando máquina en ARM
Grupo de recursos
Empiezo definiendo un grupo de recursos para agrupar lo que voy creando para esta prueba.
$ azure group create -v --json -n GroupOne -l "West Europe"
Redes
Las redes virtuales en las que voy a meter mi máquina.
$ azure network vnet create -v --json -g GroupOne -l "West Europe" -n main -a "172.1.0.0/16" -d 8.8.8.8
Cabe destacar que aunque lo meto en un grupo que ya tiene definido un "location", a la hora de crear la red tambien hay que especificar el parámetro -l, para decir donde tienes que crear la red. También hay que crear una subred dentro de la red que hemos definido
azure network vnet subnet create -g GroupOne -e main -n services -a "172.1.1.0/24"