Trasteando con packer y el cloud de 1&1

Recientemente he podido comprobar que existe la nueva compatibilidad de packer con la nube de 1&1, con lo cual ya es posible deplegar imagenes dentro de este proveedor de cloud.

Aunque es bastante limitada aun esta compatibilidad ya podemos hacer algunas cosas. Este es un pequeño ejemplo.

Primero debemos tener descargado y descomprimido packer, para lo cual nos iremos a su pagina web y asi obtener la version adecuada para nuestro sistema.

En este caso, para un sistema linux seria por ejemplo

wget https://releases.hashicorp.com/packer/0.12.2/packer_0.12.2_linux_amd64.zip

unzip packer_0.12.2_linux_amd64.zip

chmod +x packer

Seguidamente creamos un fichero json con la declaracion de la imagen que queremos. Por ejemplo, para crear una ubuntu 16.04 minima seria:

{
   "builders":[
      {
         "type":"oneandone",
         "token": "mitoken",
         "disk_size":"30",
         "image_name":"imagenpacker",
         "data_center_name": "ES",
         "source_image_name":"ubuntu1604-64min",
         "ssh_username" :"root",
         "ssh_password": "passworddeseado"
      }
   ]
}

El token se debe obtener previamente tras crear un usuario en el panel de control de 1&1 y asignarle una API Key

El listado de valores para "source_image_name" se puede obtener via 1&1 cloud cli preguntado por las appliances, que lo veremos en otro momento.

De esta forma solo nos quedaria comprobar la sintaxis

./packer validate fichero.json

y desplegar

./packer build fichero.json

El proceso primero crea una maquina virtual, que podemos ver desde el panel de control

creacion

Al tener acceso por ssh en este punto, podemos usar el shell provisioner de packer para hacer modificaciones al servidor.

Finalmente se creará la imagen, que podremos encontrar dentro del apartado "imagenes" y se borrará la maquina virtual.

Enlaces: