Instalar un host

Instale y vincule un host Ubuntu Server con un comando y un código: cada descarga verificada, servicios de sesión instalados, equipo vinculado.

Un solo comando convierte un equipo con Ubuntu Server 24.04 en un host de Community. Comprueba el equipo, instala los servicios de sesión y luego muestra un código para vincular el equipo con su cuenta. No hay nada que copiar de la consola. Unos 5 minutos.

Antes de empezar

  • Un equipo que cumpla los Requisitos de proveedor: Ubuntu Server 24.04 instalado en el propio equipo, el kernel HWE (Linux 6.12 o posterior), la virtualización y el IOMMU activados en el firmware.
  • Una terminal en el equipo, con un usuario que pueda ejecutar sudo.
  • Una cuenta de proveedor con la dirección de correo verificada, como propietario o administrador de su organización.

1. Ejecutar el comando en el equipo

curl -fsSL https://nodelodge.com/host | sudo bash

Escríbalo tal como aparece. Pide su contraseña de sudo una vez y después:

  1. Comprueba la clave de publicación. El script de inicio lleva la clave de publicación de Node Lodge y la compara con la clave publicada en el DNS, aparte de este sitio (vea La clave de publicación). Si no coinciden, no se ejecuta nada.
  2. Comprueba el instalador. Descarga install.sh y su firma y verifica la firma con esa clave. Si la comprobación falla, no se ejecuta nada.
  3. Comprueba el equipo. Cada requisito tiene su línea: ok, WARN o MISSING, con la solución. Cuando falta algo que solo usted puede cambiar (el firmware, el kernel, el sistema), se detiene antes de cambiar nada.
  4. Comprueba la versión. El agente, el servicio de sesiones y sus archivos de servicio llegan en un único archivo firmado, verificado con la misma clave antes de descomprimirlo. Cloud Hypervisor y el espejo del registro se verifican con huellas SHA-256 fijas.
  5. Instala. Los paquetes del sistema, Node.js 22, las cuentas nl-vmd, nl-mirror y nl-agent, la versión en /opt/nodelodge y cuatro servicios que arrancan con el equipo.
  6. Muestra un código. El agente genera su clave en el equipo y se prepara para la vinculación. Solo la parte pública de la clave sale del equipo.

La terminal muestra entonces:

  To pair this machine, open nodelodge.com/pair on any device signed in to Node Lodge
  and enter the code K7QX-M2PD, or scan:

  (QR code)

  The code expires in 10 minutes. Waiting for approval...

2. Introducir el código

En cualquier dispositivo con sesión iniciada en Node Lodge, incluido su teléfono:

  1. Abra nodelodge.com/pair e introduzca el código, o escanee el código QR: abre la misma página con el código ya rellenado.
  2. Revise el equipo: GPU y VRAM, CPU, memoria, sistema, y la dirección y el país de los que vino su solicitud. Si no inició usted mismo esta instalación, seleccione Decline.
  3. Ponga nombre al equipo. Se propone el nombre de host; los inquilinos ven el nombre, así que evite datos personales.
  4. Seleccione Pair this machine.

El equipo termina solo: recibe sus credenciales, se vincula y ejecuta la autoprueba. La consola abre su página, a la espera de revisión.

Un código sirve una sola vez, durante 10 minutos. Solo un propietario o administrador de la organización puede aprobarlo, desde un navegador con sesión iniciada.

Qué se ejecuta en el equipo

Servicio Cuenta Función
compute-host nl-agent Señales de presencia, informe de hardware, órdenes firmadas por Node Lodge
nl-vmd nl-vmd Ejecuta cada sesión en su propia micro-VM
nl-vmd-helper root Red, cortafuegos y entrega de la GPU a las VM, nada más
nl-mirror nl-mirror Caché local de imágenes de contenedor, compartida por las sesiones

Ningún servicio escucha en un puerto de red. El agente se conecta hacia Node Lodge por HTTPS.

Comprobar el host

sudo /opt/nodelodge/install.sh --check

Lee el equipo, los servicios y la vinculación, ejecuta la autoprueba y no cambia nada. Termina con host ready o con la lista de lo que hay que corregir.

Actualizar y volver atrás

sudo /opt/nodelodge/install.sh --update
sudo /opt/nodelodge/install.sh --rollback

--update instala la versión más reciente, firmada por una clave de publicación ya fijada en el equipo. Las versiones solo avanzan: el equipo rechaza cualquier versión más antigua que la más reciente que ya instaló, y cualquier clave retirada por una versión posterior, envíe lo que envíe el servidor. La versión anterior se queda en el disco y --rollback vuelve a ella; el siguiente --update vuelve a avanzar. Las sesiones siguen funcionando durante ambas.

Volver a ejecutar el comando es seguro: lo que ya está bien no cambia, y un equipo ya vinculado no se vuelve a vincular.

Opciones

Añada las opciones después de sudo bash -s --:

curl -fsSL https://nodelodge.com/host | sudo bash -s -- --skip-dns-check
Opción Uso
--skip-dns-check Redes que filtran el DNS. Compare antes usted mismo la clave con la de abajo.

Sin navegador cerca del equipo

Para la automatización, o un equipo donde nadie puede abrir la consola: en Setup, en No browser at hand, ponga nombre al equipo y seleccione Generate pairing code. La consola muestra un comando que pasa el código al instalador por su entrada estándar, nunca en los argumentos de un proceso. El código sirve una sola vez y caduca a los 15 minutos.

GPU

Las GPU alquiladas pertenecen a las VM: enlazadas a vfio-pci, sin controlador NVIDIA en el host. Resérvelas como se indica en Requisitos de proveedor y vuelva a comprobar el host.

La clave de publicación

El script de inicio verifica el instalador con esta clave pública, la que firma cada versión de Node Lodge:

MCowBQYDK2VwAyEAMpBEdmKh+jNxfzcsprbjpeoESLOYNWJtfH1Eq3eGekw=

La misma clave se publica en el DNS, en una zona firmada con DNSSEC, aparte de la consola y de este sitio. El script de inicio la lee antes de ejecutar nada; para leerla usted mismo:

dig +short TXT _host-release-key.nodelodge.com

La respuesta es la clave de arriba, entre comillas. Durante un cambio de clave, muestra las dos claves. Una vez instalado, el equipo verifica cada actualización con las claves que fijó.

Para leer el script de inicio antes de ejecutarlo, descárguelo con su firma y verifíquelo con la clave de arriba:

curl -fsSL -o host.sh https://nodelodge.com/host
curl -fsSL -o host.sh.sig https://nodelodge.com/host.sig
printf '%s\n' '-----BEGIN PUBLIC KEY-----' 'MCowBQYDK2VwAyEAMpBEdmKh+jNxfzcsprbjpeoESLOYNWJtfH1Eq3eGekw=' '-----END PUBLIC KEY-----' > release-key.pem
base64 -d host.sh.sig > host.sh.raw
{ printf 'nl-host-bootstrap\0'; cat host.sh; } > host.sh.msg
openssl pkeyutl -verify -pubin -inkey release-key.pem -rawin -in host.sh.msg -sigfile host.sh.raw
sudo bash host.sh

Solución de problemas

Ve Haga esto
the release key could not be read from DNS Instale dig (sudo apt-get install -y bind9-dnsutils) y vuelva a ejecutar el comando. En una red que filtra el DNS, compare la clave de arriba y luego añada -s -- --skip-dns-check.
is not the one published in DNS No se ejecutó nada. Contacte con soporte.
signature check failed: nothing was run Vuelva a ejecutar el comando. Si falla dos veces, contacte con soporte.
MISSING Linux 6.12 or newer Ejecute la solución que muestra la línea, reinicie y vuelva a ejecutar el comando.
The code expired Vuelva a ejecutar el comando: lo instalado se queda, y aparece un código nuevo.
This code is not valid or has expired en la consola Revise el código en la pantalla del equipo. Pasados 10 minutos, vuelva a ejecutar el comando para obtener un código nuevo.
Pairing was declined in the console Vuelva a ejecutar el comando cuando esté listo para aprobarlo.
is older than the newest release installed No se cambió nada. Vuelva a ejecutar --update más tarde. Si se repite, contacte con soporte.
Un servicio está MISSING journalctl -u <service> -n 20 muestra el motivo. Vuelva a ejecutar el comando una vez corregido.

Última actualización

Los resultados aparecen mientras escribe. Las flechas permiten recorrerlos.