Použití vlastního cloud-init při instalaci Vašeho VPS
Při instalaci nebo přeinstalaci Vašeho VPS můžete zadat vlastní cloud-init. Váš VPS tento soubor při prvním spuštění sám provede: nainstaluje Vaše balíčky, vytvoří Vaše uživatele a spustí Vaše příkazy. Nepotřebujete k tomu API ani terminál.
1. Otevření pole
- Přihlaste se do Můj WebOké, přejděte do Moje produkty a klikněte na svůj VPS.
- Nový VPS: uvidíte blok Nainstalujte svůj VPS. Přeinstalace: zvolte záložku Pokročilé a u Přeinstalovat klikněte na Přeinstalovat....
- Zvolte operační systém a vyplňte heslo pro root a případně svůj SSH klíč.
- Pod SSH klíčem klikněte na Vlastní cloud-init a vložte svůj soubor do pole.
- Klikněte na tlačítko pro instalaci, nebo na Smazat vše a přeinstalovat.
2. Co smí soubor obsahovat?
- Soubor, který začíná
#cloud-config(nastavení v YAML), nebo skript, který začíná#!. Fungují také#cloud-boothooka## template: jinja. - Maximálně 256 KB a pouze text (UTF-8).
- V YAML odsazujte mezerami, nikdy tabulátory.
- Síť (IPv4 a IPv6) zajišťuje WebOké. Vlastní network-config se nepoužije.
3. Příklad
Tento soubor nainstaluje htop a fail2ban, vytvoří uživatele anna se SSH klíčem a sudo a poté spustí příkaz:
#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
Nahraďte klíč svým vlastním veřejným klíčem. Příklad je určen pro Debian a Ubuntu: na AlmaLinux a Rocky Linux nainstalujete htop a fail2ban přes runcmd, po dnf install -y epel-release.
4. Co má přednost?
WebOké samo předává název hostitele, heslo pro root (jako hash) a Váš SSH klíč. Váš soubor se s těmito údaji sloučí. Pokud sami nastavíte users, password, chpasswd nebo ssh_authorized_keys, mají Vaše hodnoty přednost.
ssh_authorized_keys nebo password na nejvyšší úrovni, nahradí klíč a heslo z formuláře. Uveďte v nich proto také klíč, kterým se chcete přihlašovat. V users ponechte řádek - default nahoře.5. Kontrola, zda se to podařilo
cloud-init se spustí jednou, při prvním startu Vašeho VPS. Poté se přihlaste a zkontrolujte:
cloud-init status --longzobrazístatus: done, pokud vše proběhlo úspěšně, neboerrors popisem chyby.- Výstup Vašich balíčků, příkazů a skriptů najdete v
/var/log/cloud-init-output.log. Podrobnosti najdete v/var/log/cloud-init.log. - Pomocí
sudo cloud-init schema --systemsvůj soubor zkontrolujete. Pokud YAML není v pořádku, cloud-init některé části přeskočí.
Dobré vědět
- Funguje to pro všechny operační systémy v seznamu: Ubuntu 24.04 a 26.04, Debian 12 a 13, AlmaLinux 9 a 10 a Rocky Linux 9 a 10.
- Váš soubor se předává šifrovaně a neukládá se do historie úloh Vašeho VPS. Přesto do něj nevkládejte tajné údaje, které nepotřebujete.
- VPS je unmanaged. Podpora nepomáhá s obsahem Vašeho cloud-init. Všechny možnosti najdete na docs.cloud-init.io.
Podrobný návod s dalšími příklady: Vlastní cloud-init: automatické nastavení VPS při prvním spuštění v příručce k VPS.
Viz také: Připojení vlastního ISO nebo přeinstalace Vašeho VPS a Přihlášení k Vašemu VPS přes SSH (a vytvoření SSH klíče).
