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 11:10 6 ago 2019

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

Prácticas

Historial