Incus (Español)

Esta traducción de
Incus
fue revisada el
2024-02-17
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
Linux Containers
LXD
Incus
es un administrador/hipervisor para contenedores (a través de
LXC
) y máquinas virtuales (a través de
QEMU
).
Es una bifurcación de
LXD
por los mantenedores originales. La documentación de la página wiki de
LXD
sigue siendo muy relevante y se recomienda su lectura.
Instalación
Instale
el paquete
incus
, luego
active
incus.socket
.
Alternativamente, puede
activar/iniciar
incus.service
directamente, en caso de que desee que las instancias se inicien automáticamente, por ejemplo.
Para delegar la creación de contenedores a los usuarios,
active/inicie
la unidad
incus-user.socket
. Véase
#Acceder a Incus como usuario sin privilegios
para la delegación de grupos.
Migración desde LXD
Si desea migrar desde una instalación LXD existente, debe hacerlo en este punto, ya que la herramienta de migración solo se ejecutará en un servidor de destino Incus vacío.
Después de comprobar que las órdenes
lxc info
y
incus info
se ejecuten correctamente, consulte la
documentación
sobre el proceso y luego ejecute la herramienta de migración:
# lxd-to-incus
Configuración
Contenedores sin privilegios
Se recomienda utilizar contenedores sin privilegios (véase
Linux Containers#Privileged or unprivileged
para obtener una explicación de la diferencia).
Para esto, modifique
/etc/subuid
y
/etc/subgid
(si estos archivos no están presentes, créelos) para que contengan la asignación a los pares uid/gid para cada usuario que podrá ejecutar los contenedores. El siguiente ejemplo es simplemente para el superusuario 'root' (y la unidad del sistema systemd):
Puedes utilizar
usermod
de la siguiente manera:
usermod -v 1000000-1000999999 -w 1000000-1000999999 root
O modificar directamente los archivos mencionados anteriormente de la siguiente manera:
/etc/subuid
root:1000000:1000000000
/etc/subgid
root:1000000:1000000000
Ahora, cada contenedor se iniciará
unprivileged
de forma predeterminada.
Para conocer la alternativa, véase
LXD (Español)#Contenedores con privilegios
.
Configurar Incus
En el primer inicio, es necesario configurar Incus.
Ejecute como superusuario 'root':
# incus admin init
Esto iniciará una guía de configuración interactiva en el terminal, que cubre diferentes temas como almacenamiento, redes, etc.
Puede encontrar una descripción general en la
Guía de introducción
oficial.
Acceder a Incus como usuario sin privilegios
Incus define dos
grupos de usuario
:
incus
"permite el acceso básico de usuario, sin configuración y todas las acciones restringidas a un proyecto por usuario."
incus-admin
"permite un control total sobre Incus."
Para controlar Incus sin tener que ejecutar todas las órdenes como root, añada su usuario a estos grupos:
# usermod -a -G incus
usuario
# usermod -a -G incus-admin
usuario
Cierre sesión y vuelva a iniciarla para que se reevalúe su membresía en el grupo.
Advertencia
Cualquier usuario agregado al grupo
incus-admin
es equivalente a root. Para más información, véase
[1]
y
[2]
.
Utilización
Descripción general de las órdenes
Puede obtener una descripción general de todas las órdenes disponibles escribiendo:
$ incus
Crear un contenedor
Puedes crear un contenedor con
incus launch
, por ejemplo:
$ incus launch ubuntu:20.04
Los contenedores se basan en imágenes que se descargan desde servidores de imágenes o servidores LXD remotos.
Puede ver la lista de servidores ya añadidos con:
$ incus remote list
Puede listar todas las imágenes en un servidor con
incus image list
, por ejemplo:
$ incus image list images:
Esto le mostrará todas las imágenes en uno de los servidores predeterminados:
images.linuxcontainers.org
También puede buscar imágenes añadiendo términos como el nombre de la distribución:
$ incus image list images:debian
Iniciar un contenedor con una imagen de un servidor específico con:
$ incus launch servername:imagename
Por ejemplo:
$ incus launch images:centos/8/amd64 centos
Para crear un contenedor con arquitectura AMD64:
$ incus launch images:archlinux/current/amd64 arch
Consejos y trucos
Acceder a los contenedores por nombre de host
Esto asume que está utilizando el puente predeterminado que se llama
incusbr0
y que está utilizando
systemd-resolved
.
# systemd-resolve --interface incusbr0 --set-domain '~incus' --set-dns $(incus network get incusbr0 ipv4.address | cut -d / -f 1)
Ahora puede acceder a los contenedores por su nombre:
$ ping
nombrecontenedor
.incus
Solución de problemas
Starting a virtual machine fails
Si observa el error:
Error: Couldn't find one of the required UEFI firmware files: [{code:OVMF_CODE.4MB.fd vars:OVMF_VARS.4MB.ms.fd} {code:OVMF_CODE.2MB.fd vars:OVMF_VARS.2MB.ms.fd} {code:OVMF_CODE.fd vars:OVMF_VARS.ms.fd} {code:OVMF_CODE.fd vars:qemu.nvram}]
Es porque Arch Linux no distribuye firmware de arranque seguro ovmf firmado. Para iniciar máquinas virtuales, debe desactivar el inicio seguro por el momento:
$ incus launch ubuntu:18.04 test-vm --vm -c security.secureboot=false
Esto también se puede añadir al perfil predeterminado haciendo:
$ incus profile set default security.secureboot=false
Desinstalar
Detenga
y desactive los servicios. Despues
desinstale
el paquete
incus
.
Si desea eliminar todos los datos:
# rm -r /var/lib/incus
Si utilizó alguna de las configuraciones de red de ejemplo, también debe eliminarlas.
Véase también
La página oficial de Incus
Documentación oficial
Guía de introducción
Foro oficial
El repositorio GitHub de Incus