Diferencia entre revisiones de «Virtualización con libvirt»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
Línea 2: Línea 2:
 
sistema anfitrión con Ubuntu 18.04.
 
sistema anfitrión con Ubuntu 18.04.
  
En esta práctica, usando una imagen de ubuntu cloud y cloud-init, vamos a configurar una imagen ubuntu a nuestro gusto. Veremos como añadir usuarios, configurar un repositorio, instalar paquetes o ejecutar comandos al iniciar. También veremos como añadir una clave ssh para un usuario y como acceder a la máquina mediante ssh.
+
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: Descargar image ubuntu cloud =
+
= Paso 1: Descarga de la imagen Ubuntu Cloud =
  
Entramos en https://cloud-images.ubuntu.com/ y descargamos una imagen de ubuntu, nosotros elegiremos la Ubuntu 18.04 por ser LTS (Long Time Support).
+
Entramos en https://cloud-images.ubuntu.com/ y descargamos la imagen de Ubuntu 18.04 LTS (Long Time Support).
  
Con la orden ''wget'' puedes descargar directamente la imagen:
+
Puedes descargarla directamente con la orden ''wget'':
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
 
wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
si comenzó a descargar verás una salida similar a esta:
 +
 +
<syntaxhighlight lang="bash">
 +
-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
 +
</syntaxhighlight>
 +
 +
Espera hasta que la imagen esté descargada al 100%.
  
 
= Paso 2: Instalación de paquetes necesarios =
 
= Paso 2: Instalación de paquetes necesarios =

Revisión del 12:27 6 ago 2019

Para la realización de esta práctica necesitará 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

Este boletin requiere la instalación de las siguientes paquetes:

  • 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

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

Para configurar la imagen de Ubuntu cloud, hay que crear un fichero de configuración que tomará como entrada la herramienta cloud-init.

Este fichero siempre empieza con la línea #cloud-config y se estructura en formato yaml.

Paso 3.1: Configurar usuario y contraseña para login

Para añadir una contraseña y permitir el acceso por ssh con este usuario hay que crear el fichero de configuración cloud.cfg para la herramienta cloud-init:

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

Por defecto, el usuario es ubuntu.

Una vez añadida esta configuración, podemos configurar la imagen para que apliquen estos cambios con el siguiente comando:

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

De esta forma, al entrar por ssh, necesitaremos poner la contraseña del usuario:

ssh ubuntu@IP  # Esto nos pedirá nuestra contraseña de usuario

Paso 3.2: 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.

ssh-keygen  # Generará clave pública/privada para la autenticación
cat ~/.ssh/id_rsa.pub  # Mostrará nuestra clave pública generada

La configuración del fichero cloud.cfg resultaría la siguiente:

#cloud-config users: - name: practica ssh-authorized-keys: - ssh-rsa AA... miusuario@nombremaquina sudo: ALL=(ALL) NOPASSWD:ALL groups: sudo shell: /bin/bash

ssh practica@IP  # No nos pedirá clave de usuario

Paso 3.3: Configurar hostname y un id de instancia

#cloud-config instance-id: my-instance-id local-hostname: my-hostname


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/