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.
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.
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.
Una vez que se haya configurado, puede iniciar la máquina virtual y obtendrá algo como esto:
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:
Después de reiniciar, puede iniciar sesión en Virtual Box
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.