Χρήση δικού σας cloud-init κατά την εγκατάσταση του VPS σας
Κατά την εγκατάσταση ή την επανεγκατάσταση του VPS σας, μπορείτε να προσθέσετε το δικό σας cloud-init. Το VPS σας εκτελεί αυτόματα αυτό το αρχείο κατά την πρώτη εκκίνηση: εγκαθιστά τα πακέτα σας, δημιουργεί τους χρήστες σας και εκτελεί τις εντολές σας. Δεν χρειάζεστε API ή τερματικό γι' αυτό.
1. Άνοιγμα του πεδίου
- Συνδεθείτε στην περιοχή πελατών Το WebOké μου, μεταβείτε στην ενότητα Τα προϊόντα μου και κάντε κλικ στο VPS σας.
- Νέο VPS: βλέπετε την ενότητα Εγκατάσταση του VPS σας. Επανεγκατάσταση: επιλέξτε την καρτέλα Για προχωρημένους και, στην ενότητα Επανεγκατάσταση, κάντε κλικ στο Επανεγκατάσταση....
- Επιλέξτε το λειτουργικό σύστημα και συμπληρώστε τον κωδικό πρόσβασης root και, προαιρετικά, το κλειδί SSH σας.
- Κάτω από το κλειδί SSH, κάντε κλικ στο Δικό σας cloud-init και επικολλήστε το αρχείο σας στο πεδίο.
- Κάντε κλικ στο κουμπί εγκατάστασης ή στο Διαγραφή όλων και επανεγκατάσταση.
2. Τι μπορεί να περιέχει το αρχείο;
- Ένα αρχείο που ξεκινά με
#cloud-config(ρυθμίσεις σε YAML) ή ένα script που ξεκινά με#!. Λειτουργούν επίσης τα#cloud-boothookκαι## template: jinja. - Έως 256 KB και μόνο κείμενο (UTF-8).
- Στο YAML, η εσοχή γίνεται με κενά διαστήματα, ποτέ με χαρακτήρες tab.
- Το δίκτυο (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é περνά η ίδια το hostname, τον κωδικό πρόσβασης 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μαζί με το σφάλμα. - Η έξοδος των πακέτων, των εντολών και των scripts σας βρίσκεται στο
/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).
