En el artículo anterior vimos como hacer frente al monopolio de AWS en servidores utilizando Linode. En este artículo buscaremos la misma meta, instalar RancherOS, pero haciendo uso de la plataforma de Scaleway, una plataforma que llevo utilizando unos cuantos meses y me parece genial, tanto por el soporte que tienen (incluído canal de IRC) como por la estabilidad de los servidores. Por supuesto, no hay que olvidar el principal motivo por el que Scaleway es el rey en su rango: el imbatible precio. Una máquina con 2 núcleos, 2 GB de RAM, disco SSD y transferencia de datos ilimitada... ¿por 2.99€ al mes? Parece un chiste. Además, Scaleway ofrece flexibilidad por doquier en todos los aspectos, tanto técnico como el de facturación.
Tras este pequeño marketing no remunerado vamos al lío.

Voy a saltarme la introducción a Rancher y RancherOS puesto que puedes consultarla en "Instalando RancherOS en un VPS de Linode".
Este artículo hace referencia al artículo de Linode, tener ambos abiertos no viene mal.
La aplicación CLI
Antes de nada quiero aclarar que todo esto se puede hacer desde el dashboard de Scaleway pero en este artículo voy a explicar como utilizar la aplicación CLI para que podamos automatizar la creación de servidores lo máximo posible.
Esta aplicación se puede encontrar en el repositorio oficial de scaleway-cli y funciona en todas las plataformas, además de poder utilizarse a través de Docker. En mi caso, como utilizo Arch Linux, hago uso del paquete scaleway-cli que se encuentra en los repositorios de usuario de Arch (AUR).
Sigue las instrucciones de instalación de tu plataforma así como la identificación dentro de la herramienta mediante el comando scw login
.
Preparación del VPS
Para crear un servidor lo único que hay que hacer es ejecutar el siguiente comando:
Lo único importante es el primer parametro, bootscript
, en el que indicaremos a Scaleway que nuestro servidor iniciará en modo rescate.
En cuanto a la IP, podemos crear una desde el dashboard o dejar que nos asigne una aleatoria.
El parámetro commercial-type
corresponde al tipo de servidor que queremos contratar. Podemos ver las distintas opciones ejecutando el comando scw products servers
.
Asignamos un nombre a nuestro servidor y eligimos otras opciones como por ejemplo obtener una dirección IPv6 o la región en la que queremos nuestro servidor. Consulta la documentación de scaleway-cli
para ver todas las opciones disponibles.
Por último, el valor final de 50G
indica que nuestro servidor tendrá un volumen SSD de 50 GB (el mínimo).
Como destacaba arriba, lo único importante es elegir "x86_64 rescue" como sistema de arranque.
La respuesta del comando será el ID de nuestro servidor recién creado.
Iniciar en modo rescate
Para iniciar el servidor solo tenemos que ejecutar el siguiente comando:
Una vez esté encendido entramos por SSH mediante el usuario root y la IP de nuestro servidor. Para consultar cual es la IP, ejecuta scw ps
.
Instalación de RancherOS
A partir de aquí, el método de instalación es muy parecido a como lo haríamos en Linode, con un par de cambios imprescindibles.
Al final de esta sección encontrarás el comando completo para copiar y pegar sin necesidad de ir uno por uno.
El primer paso es actualizar el sistema.
Ya podemos crear nuestro fichero cloud-config.yml
con la configuración a nuestro gusto. Para este artículo vamos a utilizar una configuración mínima. Tan mínima que ni siquiera vamos a instalar Rancher. Únicamente instalaremos RancherOS sobre Scaleway, tal como reza el título del artículo. Aún así, más abajo encontrarás lo necesario para utilizar Rancher. Puedes saltar y después volver a este punto.
A nuestra instancia le asignaremos un hostname
y una clave SSH pública para poder iniciar sesión mediante SSH tras la instalación, ya que el acceso mediante contraseña está desactivado y desaconsejado.
#cloud-config
hostname: par1-rancher
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2E...
Y por último, descargamos todo lo necesario y ejecutamos los comandos que instalarán RancherOS en el disco.
Ahora es cuando os cuento las buenas y las malas noticias.
La mala noticia es que Scaleway es, de momento, incapaz de iniciar por si mismo nuestro sistema operativo RancherOS, por lo que, tras cada reinicio o apagado, tendremos que ser nosotros los que manualmente lo hagamos. Las buena noticia es que mis servidores llevan meses online sin reiniciarse ni caerse, por lo que no considero que esto sea un problema.
Nuestra máquina siempre intentará iniciar en modo rescate. Para evitarlo e iniciar manualmente en RancherOS, primero accedemos a la consola serie de nuestra máquina mediante el comando:
Esta consola nos permite visualizar todo lo que ocurre desde que se enciende la máquina, por lo que podremos acceder al menu iPXE y a todo el sistema de arranque.
Para salir del modo attach
pulsamos Ctrl+Q.
Reiniciamos utilizando el comando reboot
desde la terminal que esté conectada por SSH (donde hicimos la instalación). Apenas 2 segundos después empezaremos a ver algo tal que así en la pantalla:
Lo que hay que hacer es, evidentemente, pulsar Ctrl+B para acceder al menú iPXE. Si quieres, puedes pulsarlo repetidas veces hasta que acceda.
Esto es bastante fugaz y las primeras veces nos costará un poco enterarnos. No te preocupes, vuelve a entrar por SSH, reinicia y prueba de nuevo. Después de un par de veces ya no se te resistirá.
Una vez dentro de este menú lo unico que tenemos que poner es exit
y dar al Enter. El sistema saldrá del menú iPXE y reiniciará RancherOS a través del gestor de arranque GRUB. Puede parecer raro pero así es como conseguí que funcionase.
Recuerda, cada vez que quieras reiniciar el servidor tienes que conectarte mediante scw attach
, pulsar Ctrl+B rápidamente y después escribir exit
. ¡Eso es todo!
Tras unos segundos estaremos en RancherOS. Accedemos mediante SSH con el usuario rancher
y la IP de nuestra instancia.
Comando completo
Lo prometido es deuda, crea el fichero cloud-config.yml
y copia y pega el siguiente comando para ejecutar todas las acciones a la vez.
Actualización de RancherOS
Como indicamos arriba, RancherOS se encuentra instalado en su versión 0.7.1
, la cual se puede comprobar mediante el comando sudo ros os version
.
Para actualizar el sistema basta con ejecutar sudo ros os upgrade
, un comando que ejecutaremos cada vez que queramos actualizar el sistema operativo de nuestras instancias.
Upgrading to rancher/os:v1.0.2 Continue [y/N]: y
Tras el reinicio, (acuérdate del scw attach
) el sistema operativo estará en la versión más reciente.
Instalación de Rancher
La instalación de Rancher es exactamente igual a la que comenté en el artículo de la instalación de RancherOS en Linode. Puedes consultar el texto aquí.
Conclusión
Tras estos pasos ya tenemos lo necesario para ejecutar nuestros contenedores de Docker en una infrastructura sólida y super barata, haciendo uso de Scaleway, RancherOS y Rancher.
Si te ha gustado el artículo compártelo y comenta, así sabré que este área es de interés y escribiré nuevos artículos sobre este tema, como por ejemplo cómo crear un clúster de Kubernetes en Rancher.