Diferencia entre revisiones de «Virtualización con libvirt»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Paso 3: Configuración de la imagen de Ubuntu con cloud-init)
(Material avanzado sobre cloud-init)
Línea 67: Línea 67:
  
 
Dispones de más información suplementaria sobre como usar [cloud-init].
 
Dispones de más información suplementaria sobre como usar [cloud-init].
 
= Material avanzado sobre cloud-init =
 
 
== Configurar de acceso ssh con clave pública ==
 
 
Este paso es opcional, si quieres configurar el acceso con clave pública ssh, tienes que generar el par de claves pública y privada.
 
 
<syntaxhighlight lang="bash">
 
ssh-keygen  # Generará clave pública/privada para la autenticación
 
cat ~/.ssh/id_rsa.pub  # Mostrará nuestra clave pública generada
 
</syntaxhighlight>
 
 
La configuración del fichero ''cloud.cfg'' resultaría la siguiente:
 
 
<nowiki>
 
#cloud-config
 
users:
 
  - name: practica
 
    ssh-authorized-keys:
 
      - ssh-rsa AA... miusuario@nombremaquina
 
    sudo: ALL=(ALL) NOPASSWD:ALL
 
    groups: sudo
 
    shell: /bin/bash
 
</nowiki>
 
 
<syntaxhighlight lang="bash">
 
ssh practica@IP  # No nos pedirá clave de usuario
 
</syntaxhighlight>
 
 
== Configurar hostname y un id de instancia ==
 
 
<syntaxhighlight lang="bash">
 
#cloud-config
 
instance-id: my-instance-id
 
local-hostname: my-hostname
 
</syntaxhighlight>
 
 
* Configurar repositorio: añadir e instalar paquetes
 
* Ejecutar comandos al iniciar
 
 
* Crear VM utilizando virt-manager
 
 
copiar volumen de cloud-init e imagen de ubuntu a /var/lib/libvirt/images/
 
https://gist.github.com/shettyg/455ff78605ea4c45febe7b5aa345c87d
 
 
* Configuración de virt-manager
 
 
abrir virt-manager y crear VM
 
 
* Buscar ip local de la VM para conectarnos por ssh
 
 
buscar ip máquina https://www.cyberciti.biz/faq/find-ip-address-of-linux-kvm-guest-virtual-machine/
 

Revisión del 11:54 6 ago 2019

Para la realización de esta práctica necesitará de una imagen de Ubuntu Cloud que descargaremos de https://cloud-images.ubuntu.com/ y necesitaremos un sistema anfitrión con Ubuntu 18.04.

En esta práctica se emplearán la imagen descargada de la web Ubuntu Cloud y se hará uso de la herramienta cloud-init para configurarla.

Paso 1: Descarga de la imagen Ubuntu Cloud

Entramos en https://cloud-images.ubuntu.com/ y descargamos la imagen de Ubuntu 18.04 LTS (Long Time Support).

Puedes descargarla directamente con la orden wget:

wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img

si comenzó a descargar verás una salida similar a esta:

-2019-08-06 12:26:26--  https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
Resolviendo cloud-images.ubuntu.com (cloud-images.ubuntu.com)... 91.189.88.89, 2001:67c:1560:8001::8001
Conectando con cloud-images.ubuntu.com (cloud-images.ubuntu.com)[91.189.88.89]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 343474176 (328M) [application/octet-stream]
Grabando a: “bionic-server-cloudimg-amd64.img”

bionic-server-cloudimg-amd64.img.   0%[                                                              ]   2,21M   472KB/s    eta 14m 6s

Espera hasta que la imagen esté descargada al 100%.

Paso 2: Instalación de paquetes necesarios para entorno de virtualización libvirt

Esta práctica requiere de los siguientes paquetes que estén instalados en el sistema anfitrión:

  • virt-manager: interfaz gráfica para la gestión de hipervisores.
  • cloud-init: herramienta para configurar una imagen de Ubuntu cloud.
  • cloud-image-utils: esta herramienta es complementaria a cloud-init y sirve para modificar imágenes de Ubuntu cloud.

Podemos instalar estos paquetes con la herramienta apt desde el intérprete de órdenes:

sudo apt install cloud-init cloud-image-utils virt-manager

En los ordenadores del aula de prácticas estos paquetes ya estarán preinstalados, con lo que puedes saltarte este paso.

Paso 3: Configuración de la imagen de Ubuntu con cloud-init

Para configurar la imagen de Ubuntu cloud, hay que crear un fichero de configuración para la herramienta cloud-init. Este fichero empieza siempre por la línea #cloud-config y se estructura en formato yaml, el contenido del fichero cloud.cfg sería el siguiente:

#cloud-config
password: qwerty123
chpasswd: { expire: False }
ssh_pwauth: True

El ejemplo anterior muestra cómo configurar la imagen descargada para que disponga del usuario ubuntu, y en este caso, la contraseña es querty123, y que se pueda acceder a dicho usuario por medio de ssh.

Podemos configurar la imagen para que apliquen estos cambios con el siguiente comando:

cloud-localds bionic-server-cloudimg-amd64.img cloud.cfg

FALTA AQUÍ DETALLAR CÓMO PUEDEN LANZAR LA MÁQUINA VIRTUAL y ACCEDER CON LOGIN Y CLAVE PARA PROBAR QUE ESTÁ BIEN HECHO.

Dispones de más información suplementaria sobre como usar [cloud-init].