LINUX

Cómo instalar Coreos en Virtualbox desde una imagen ISO

En este artículo voy a mostrar cómo instalar CoreOS en VirtualBox. CoreOS es una distribución de Linux que se trata completamente de contenedores. La idea detrás de CoreOS es que el sistema operativo en sí no tiene ningún administrador de paquetes, en cambio, cuando se necesita algún software, crea un contenedor para él y lo instala en ese contenedor. Por ahora, CoreOS admite contenedores Docker y rkt, y es posible que se agreguen más formatos en el futuro. El proceso de instalación es bastante diferente al de su distribución normal de Linux, por lo que en este artículo haremos un recorrido detallado con capturas de pantalla. Lo primero que debe hacer es descargar CoreOS ISO

Instalación de Virtual Box y creación de una máquina virtual

Vamos a utilizar la imagen de Virtual Box. Primero instalemos Virtual Box

sudo apt install virtualbox

Después de instalar VirtualBox, inícielo desde el menú de Ubuntu y cree una nueva VM.

Hacer CoreOS vm

Puede nombrar la máquina virtual como desee, pero la versión debe ser Otro Linux. Después de eso, necesitamos establecer el tamaño de la memoria y el disco.

memoria
tamaño del disco

La memoria mínima es de 1 GB, pero generalmente más es mejor. Después de hacer la VM, debemos ir a la configuración y montar ISO de CoreOS en la unidad de DVD virtual.

montar el coreos ISO

Una vez que se haya configurado, puede iniciar la máquina virtual y obtendrá algo como esto:

Imagen de prodiction de CoreOS

Preparándose para la instalación

Antes de que se pueda instalar CoreOS, debemos hacer algunos preparativos. Pasando a la computadora host, iniciada la sesión como root, necesitamos tomar la clave pública y copiarla en algún lugar donde nuestra VM pueda recuperarla con wget. Esto es necesario porque después de la instalación, solo se permitirá el inicio de sesión ssh con clave pública, y no con contraseña. Mi lugar de elección será Dropbox, por lo que desde mi Thinkpad copiaré a Dropbox así:

 cat ~/.ssh/id_rsa.pub > ~/Dropbox/cloud-config.yml

Después de copiarlo en Dropbox, una buena idea sería acortar la URL con tinyurl, porque tendremos que escribir esa URL manualmente en CoreOS.

De vuelta a CoreOS, necesitamos recuperar este archivo con wget.

wget tinyurl.com/yoururl

Entonces necesitamos agregar la contraseña y crear el archivo de configuración

sudo openssl passwd -1 > cloud_config.yml

Después de este comando, ingrese su contraseña y esta contraseña aparecerá en el archivo cloud_config.yml en forma encriptada. También necesitamos agregar una clave pública a este archivo que obtuvimos de Dropbox anteriormente

cat dropboxfile >> cloud_config.yml

Ahora editamos cloud_config.yml y ahí ya tenemos dos hashes largos, uno para contraseña y otro aún más largo que es clave pública. Necesitaríamos poner el resto del contexto para esos archivos allí

vi cloud_config.yml

Y allí tenemos que configurar el archivo para que se vea así:

#cloud-config
users:
- name: miki
passwd: yourencryptedpassword2121wdeksda
groups:
- sudo
- docker
ssh-authorized-keys:
- "ssh-rsa AAAdadasadadaxvnazxcfgaxcbzxzgzcxApublickey...."

Después de editar el archivo, necesitamos validarlo:

coreos-cloudinit -validate --from-file cloud_config.yml

Si no muestra ninguna línea de error, significa que el archivo está formateado correctamente y puede pasar a la parte de instalación

Instalación de CoreOS y registro con SSH en el sistema

Cuando se hayan realizado todos los preparativos, podemos pasar a la instalación de CoreOS:

sudo coreos-install -d /dev/sda -C stable -c cloud_config.yml

Esto descargará e instalará la última imagen estable de CoreOS. Una vez finalizado, desmonte el ISO de CoreOS de la unidad y reinicie la máquina virtual. También necesitaría configurar la red Bridge en Virtual Box, como en la imagen a continuación:

Red de puentes

Después de reiniciar, puede iniciar sesión en Virtual Box

primer arranque de coreOS

O puede ssh desde su computadora host

miki@ThinkPad-X220T:~$ ssh 192.168.1.6
The authenticity of host '192.168.1.6 (192.168.1.6)' can't be established.
ECDSA key fingerprint is SHA256:8g/RnlQ0Gs1XsT99jnblbfuCnNXjHHH25DevN0dmUXY.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.6' (ECDSA) to the list of known hosts.
Last login: Sat Nov 26 13:58:42 UTC 2016 on tty1
CoreOS stable (1185.3.0)

miki@localhost ~ $

Como ve, no hay solicitud de contraseña, el inicio de sesión SSH de clave pública está funcionando.

Ejecute los siguientes comandos para verificar coreos, docker y la versión rkt de la pila.

miki@localhost ~ $ rkt version
rkt Version: 1.14.0
appc Version: 0.8.7
Go Version: go1.7.1
Go OS/Arch: linux/amd64
Features: -TPM +SDJOURNAL
miki@localhost ~ $ docker -v
Docker version 1.11.2, build bac3bae
miki@localhost ~ $ uname -r
4.7.3-coreos-r2
miki@localhost ~ $ cat /etc/motd 
CoreOS stable (1185.3.0)
miki@localhost ~ $

Los comandos están en negrita, los dos primeros comandos son para la versión rkt y docker, uname -r le da la versión del kernel y /etc/motd es donde se almacena la versión de CoreOS.

Conclusión

Hemos instalado con éxito un sistema operativo de solo contenedor llamado CoreOS en Virtual Box. En mi caso, Virtual Box se estaba ejecutando sobre Ubuntu, pero puede instalarlo en cualquier lugar donde se ejecute Virtual Box, incluyendo macOS, Windows y Solaris. Con cambios mínimos en el procedimiento, CoreOS también se puede instalar en bare metal. Dado que todo en CoreOS es un contenedor, el sistema operativo es realmente liviano y escalable, lo que lo convierte en una muy buena opción para su nube privada. Eso es todo por este artículo, gracias por leer.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar