Korzystanie z własnego cloud-init podczas instalacji serwera VPS
Podczas instalacji lub ponownej instalacji VPS mogą Państwo przekazać własny plik cloud-init. VPS samodzielnie wykonuje ten plik przy pierwszym uruchomieniu: instaluje pakiety, tworzy użytkowników i wykonuje Państwa polecenia. Nie potrzebują Państwo do tego API ani terminala.
1. Otwieranie pola
- Proszę zalogować się do panelu Moje WebOké, przejść do Moje produkty i kliknąć swój VPS.
- Nowy VPS: widoczny jest blok Instalacja VPS. Ponowna instalacja: proszę wybrać zakładkę Zaawansowane i przy Ponowna instalacja kliknąć Zainstaluj ponownie....
- Proszę wybrać system operacyjny i podać hasło root oraz ewentualnie klucz SSH.
- Proszę kliknąć Własny cloud-init pod kluczem SSH i wkleić plik w pole.
- Proszę kliknąć przycisk instalacji lub Usuń wszystko i zainstaluj ponownie.
2. Co może zawierać plik?
- Plik zaczynający się od
#cloud-config(ustawienia w YAML) lub skrypt zaczynający się od#!. Działają również#cloud-boothooki## template: jinja. - Maksymalnie 256 KB i wyłącznie tekst (UTF-8).
- W YAML wcięcia tworzy się spacjami, nigdy tabulatorami.
- Sieć (IPv4 i IPv6) konfiguruje WebOké. Własny network-config nie jest używany.
3. Przykład
Ten plik instaluje htop i fail2ban, tworzy użytkownika anna z kluczem SSH i uprawnieniami sudo, a następnie wykonuje polecenie:
#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
Proszę zastąpić klucz własnym kluczem publicznym. Przykład dotyczy systemów Debian i Ubuntu: w AlmaLinux i Rocky Linux htop i fail2ban instaluje się przez runcmd, po dnf install -y epel-release.
4. Co ma pierwszeństwo?
WebOké samo przekazuje nazwę hosta, hasło root (jako hash) i Państwa klucz SSH. Państwa plik zostaje z nimi połączony. Jeśli sami Państwo ustawią users, password, chpasswd lub ssh_authorized_keys, pierwszeństwo mają Państwa ustawienia.
ssh_authorized_keys lub password na najwyższym poziomie, zastąpią one klucz i hasło z formularza. W takim przypadku proszę dodać również klucz, którym chcą się Państwo logować. W users proszę pozostawić wiersz - default na samej górze.5. Sprawdzanie, czy wszystko się udało
cloud-init działa jeden raz, przy pierwszym uruchomieniu VPS. Następnie proszę się zalogować i sprawdzić:
cloud-init status --longpokazujestatus: done, jeśli wszystko się powiodło, luberrorwraz z opisem błędu.- Wynik instalacji pakietów, poleceń i skryptów znajduje się w
/var/log/cloud-init-output.log. Szczegóły znajdują się w/var/log/cloud-init.log. - Za pomocą
sudo cloud-init schema --systemmogą Państwo sprawdzić swój plik. Jeśli YAML jest niepoprawny, cloud-init pomija niektóre części.
Dobrze wiedzieć
- Funkcja działa ze wszystkimi systemami operacyjnymi z listy: Ubuntu 24.04 i 26.04, Debian 12 i 13, AlmaLinux 9 i 10 oraz Rocky Linux 9 i 10.
- Państwa plik jest przekazywany w formie zaszyfrowanej i nie jest zapisywany w historii zadań VPS. Mimo to prosimy nie umieszczać w nim poufnych danych, które nie są potrzebne.
- VPS jest usługą niezarządzaną. Dział wsparcia nie udziela pomocy w zakresie zawartości pliku cloud-init. Wszystkie możliwości opisano na docs.cloud-init.io.
Szczegółowe wyjaśnienie z większą liczbą przykładów: Własny cloud-init: automatyczna konfiguracja VPS przy pierwszym uruchomieniu w podręczniku VPS.
Zobacz też: Podłączenie własnego obrazu ISO lub ponowna instalacja Państwa serwera VPS oraz Logowanie do serwera VPS przez SSH (oraz tworzenie klucza SSH).
