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:
- 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.
- Comprueba el instalador. Descarga
install.shy su firma y verifica la firma con esa clave. Si la comprobación falla, no se ejecuta nada. - 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.
- 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.
- Instala. Los paquetes del sistema, Node.js 22, las cuentas
nl-vmd,nl-mirrorynl-agent, la versión en/opt/nodelodgey cuatro servicios que arrancan con el equipo. - 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:
- 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.
- 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.
- Ponga nombre al equipo. Se propone el nombre de host; los inquilinos ven el nombre, así que evite datos personales.
- 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. |