Usar su propio cloud-init al instalar su VPS
Al instalar o reinstalar su VPS, puede añadir un cloud-init propio. Su VPS ejecuta ese archivo por sí mismo en el primer arranque: instala sus paquetes, crea sus usuarios y ejecuta sus comandos. No necesita ninguna API ni terminal para ello.
1. Abrir el campo
- Inicie sesión en Mi WebOké, vaya a Mis productos y haga clic en su VPS.
- VPS nuevo: verá el bloque Instale su VPS. Reinstalación: seleccione la pestaña Avanzado y, en Reinstalar, haga clic en Reinstalar....
- Elija el sistema operativo e introduzca la contraseña de root y, si lo desea, su clave SSH.
- Debajo de la clave SSH, haga clic en cloud-init propio y pegue su archivo en el campo.
- Haga clic en el botón para instalar, o en Borrar todo y reinstalar.
2. ¿Qué puede contener el archivo?
- Un archivo que empiece por
#cloud-config(configuración en YAML) o un script que empiece por#!. También funcionan#cloud-boothooky## template: jinja. - Un máximo de 256 KB y solo texto (UTF-8).
- En YAML, la sangría se hace con espacios, nunca con tabulaciones.
- WebOké se encarga de la red (IPv4 e IPv6). No se utiliza ningún network-config propio.
3. Un ejemplo
Este archivo instala htop y fail2ban, crea el usuario anna con una clave SSH y sudo y, a continuación, ejecuta un comando:
#cloud-config
hostname: web1
fqdn: web1.example.com
package_update: true
packages:
- htop
- fail2ban
users:
- default
- name: anna
shell: /bin/bash
sudo: "ALL=(ALL) NOPASSWD:ALL"
ssh_authorized_keys:
- ssh-ed25519 AAAAC3Nza... anna@laptop
runcmd:
- timedatectl set-timezone Europe/Amsterdam
Sustituya la clave por su propia clave pública. El ejemplo es para Debian y Ubuntu: en AlmaLinux y Rocky Linux, instale htop y fail2ban mediante runcmd, después de dnf install -y epel-release.
4. ¿Qué tiene prioridad?
WebOké añade por sí mismo el nombre de host, la contraseña de root (como hash) y su clave SSH. Su archivo se combina con estos datos. Si usted define users, password, chpasswd o ssh_authorized_keys, los suyos tienen prioridad.
ssh_authorized_keys o password en el nivel superior, estos sustituyen la clave y la contraseña del formulario. En ese caso, incluya también la clave con la que desea iniciar sesión. En users, mantenga la línea - default al principio.5. Comprobar si ha funcionado
cloud-init se ejecuta una sola vez, en el primer arranque de su VPS. Después, inicie sesión y compruebe:
cloud-init status --longmuestrastatus: donesi todo ha funcionado, oerrorcon el fallo.- La salida de sus paquetes, comandos y scripts se encuentra en
/var/log/cloud-init-output.log. Los detalles están en/var/log/cloud-init.log. - Con
sudo cloud-init schema --systempuede comprobar su archivo. Si el YAML no es correcto, cloud-init omite partes.
Conviene saber
- Funciona con todos los sistemas operativos de la lista: Ubuntu 24.04 y 26.04, Debian 12 y 13, AlmaLinux 9 y 10 y Rocky Linux 9 y 10.
- Su archivo se transmite cifrado y no se guarda en el historial de tareas de su VPS. Aun así, no incluya secretos que no necesite.
- Un VPS es unmanaged. El servicio de soporte no ofrece ayuda con el contenido de su cloud-init. Todas las posibilidades se encuentran en docs.cloud-init.io.
Explicación detallada con más ejemplos: cloud-init propio: configure su VPS automáticamente en el primer arranque en el manual del VPS.
Véase también: Montar una ISO propia o reinstalar su VPS y Iniciar sesión en su VPS con SSH (y crear una clave SSH).
