Diferencia entre revisiones de «Grado de Ingeniería de Software»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Página reemplazada por «Material de la asignatura para el Grado de Ingeniería de Software = Prácticas = * Boletín 1: Virtualización = Historial = * Material del curso 2018/2019»)
Línea 1: Línea 1:
 
Material de la asignatura para el Grado de Ingeniería de Software
 
Material de la asignatura para el Grado de Ingeniería de Software
  
−
Requisitos. Para la realización de esta práctica necesitará una imagen de Ubuntu
+
= Prácticas =
−
Cloud que descargaremos de https://cloud-images.ubuntu.com/ y necesitaremos un
 
−
sistema anfitrión con una distribución Linux, basada en debian preferiblemente,
 
−
como Ubuntu.
 
  
−
En esta práctica, usando una imagen de ubuntu cloud y cloud-init, vamos a
+
* [[Boletín 1: Virtualización]]
−
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.
 
−
 
 
−
 
 
−
== Descargar image 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).
 
−
 
 
−
<syntaxhighlight lang="bash">
 
−
wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
 
−
</syntaxhighlight>
 
−
 
 
−
== Instalar herramientas necesarias ==
 
−
 
 
−
virt-manager: interfaz gráfica para la gestión de hipervisores.
 
−
cloud-init: herramienta para personalizar una instancia de cloud antes de inicializar.
 
−
cloud-image-utils: herramienta complementaria a cloud-init para modificar imágenes cloud.
 
−
 
 
−
Para instalar todas ellas, si estamos usando una distribución basada en debian,
 
−
instalamos con:
 
−
 
 
−
<syntaxhighlight lang="bash">
 
−
sudo apt install cloud-init cloud-image-utils virt-manager
 
−
</syntaxhighlight>
 
−
 
 
−
== Crear configuración de cloud-init ==
 
−
 
 
−
Para añadir una configuración, crearemos un fichero de configuración, que
 
−
comenzará siempre #cloud-config y tendrá una sintaxis yaml.
 
−
 
 
−
Una vez añadida la configuración, creamos una imagen con el siguiente comando:
 
−
 
 
−
<syntaxhighlight lang="bash">
 
−
cloud-localds volume.img conf-file
 
−
</syntaxhighlight>
 
−
 
 
−
=== Configurar usuario: password y clave ssh ===
 
−
 
 
−
<b>Opción 1</b>
 
−
 
 
−
Añadir una contraseña y permitir el acceso por ssh. Por defecto, el usuario es
 
−
ubuntu.
 
−
 
 
−
<nowiki>
 
−
#cloud-config
 
−
password: qwerty123
 
−
chpasswd: { expire: False }
 
−
ssh_pwauth: True
 
−
</nowiki>
 
−
 
 
−
De esta forma, al entrar por ssh, necesitaremos poner la contraseña del usuario:
 
−
 
 
−
<syntaxhighlight lang="bash">
 
−
ssh ubuntu@IP  # Esto nos pedirá nuestra contraseña de usuario
 
−
</syntaxhighlight>
 
−
 
 
−
<b>Opción 2</b>
 
−
 
 
−
Añadir un nuevo usuario, y pasarle clave pública ssh, si no tenemos, generamos
 
−
una:
 
−
 
 
−
<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 sería esta vez de la siguiente forma. Aquí ya nos
 
−
estamos creando nuestro propio usuario, con acceso root, y le estamos pasando
 
−
nuestra clave ssh.
 
−
 
 
−
<nowiki>
 
−
#cloud-config
 
−
users:
 
−
  - name: practica
 
−
    ssh-authorized-keys:
 
−
      - ssh-rsa AA... user@machine
 
−
    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 ===
 
−
 
 
−
<nowiki>
 
−
#cloud-config
 
−
instance-id: my-instance-id
 
−
local-hostname: my-hostname
 
−
</nowiki>
 
−
 
 
−
 
 
−
=== 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/
 
  
 
= Historial =
 
= Historial =
  
 
* [[Material del curso 2018/2019]]
 
* [[Material del curso 2018/2019]]

Revisión del 12:10 6 ago 2019

Material de la asignatura para el Grado de Ingeniería de Software

Prácticas

Historial