Използване на собствен cloud-init при инсталиране на Вашия VPS
При инсталиране или повторно инсталиране на Вашия VPS можете да зададете собствен cloud-init. Вашият VPS изпълнява този файл самостоятелно при първото стартиране: инсталира Вашите пакети, създава Вашите потребители и изпълнява Вашите команди. За това не Ви е необходим API или терминал.
1. Отваряне на полето
- Влезте в Моят WebOké, отидете в Моите продукти и кликнете върху Вашия VPS.
- Нов VPS: виждате блока Инсталирайте своя VPS. Повторно инсталиране: изберете раздела Разширени и при Повторно инсталиране кликнете върху Инсталирайте повторно....
- Изберете операционната система и въведете паролата за root и по желание Вашия SSH ключ.
- Под SSH ключа кликнете върху Собствен cloud-init и поставете своя файл в полето.
- Кликнете върху бутона за инсталиране или върху Изтрийте всичко и инсталирайте повторно.
2. Какво може да съдържа файлът?
- Файл, който започва с
#cloud-config(настройки в YAML), или скрипт, който започва с#!.#cloud-boothookи## template: jinjaсъщо работят. - Максимум 256 KB и само текст (UTF-8).
- В YAML отстъпите се правят с интервали, никога с табулации.
- Мрежата (IPv4 и IPv6) се настройва от WebOké. Собствен network-config не се използва.
3. Пример
Този файл инсталира htop и fail2ban, създава потребителя anna със SSH ключ и sudo и след това изпълнява команда:
#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
Заменете ключа със своя публичен ключ. Примерът е за Debian и Ubuntu: в AlmaLinux и Rocky Linux инсталирайте htop и fail2ban чрез runcmd, след dnf install -y epel-release.
4. Кое има предимство?
WebOké сам предава името на хоста, паролата за root (като hash) и Вашия SSH ключ. Вашият файл се обединява с тях. Ако сами зададете users, password, chpasswd или ssh_authorized_keys, Вашите стойности имат предимство.
ssh_authorized_keys или password на най-горното ниво, те заменят ключа и паролата от формуляра. В такъв случай добавете и ключа, с който искате да влизате. В users оставете реда - default най-отгоре.5. Проверка дали всичко е успешно
cloud-init се изпълнява веднъж, при първото стартиране на Вашия VPS. След това влезте и проверете:
cloud-init status --longпоказваstatus: done, ако всичко е успешно, илиerrorзаедно с грешката.- Изходът от Вашите пакети, команди и скриптове се намира в
/var/log/cloud-init-output.log. Подробности ще намерите в/var/log/cloud-init.log. - С
sudo cloud-init schema --systemпроверявате своя файл. Ако YAML не е коректен, cloud-init пропуска части от него.
Полезно е да знаете
- Работи за всички операционни системи в списъка: Ubuntu 24.04 и 26.04, Debian 12 и 13, AlmaLinux 9 и 10 и Rocky Linux 9 и 10.
- Вашият файл се предава криптирано и не се съхранява в историята на задачите на Вашия VPS. Въпреки това не поставяйте в него тайни данни, които не са Ви необходими.
- VPS е unmanaged услуга. Поддръжката не помага със съдържанието на Вашия cloud-init. Всички възможности са описани на docs.cloud-init.io.
Подробно обяснение с повече примери: Собствен cloud-init: автоматично настройване на Вашия VPS при първото стартиране в ръководството за VPS.
Вижте също: Свързване на собствен ISO или преинсталиране на Вашия VPS и Вход във Вашия VPS чрез SSH (и създаване на SSH ключ).
