ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Απαιτήσεις
Cloud-init σενάριο
Σενάριο PXE
Τείχος προστασίας
Ξεκινήστε το
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Το RancherOS είναι ένα απίστευτα ελαφρύ λειτουργικό σύστημα (μόνο περίπου 60 MB) που εκτελεί έναν δαίμονα Docker "συστήματος" PID 0
για την εκτέλεση υπηρεσιών συστήματος, (δικτύωση, πρόσβαση κονσόλας κ.λπ.), καθώς και έναν δαίμονα Docker "χρήστη" για εκτέλεση μη κοντέινερ συστήματος, (MySQL, Rancher και άλλα).
Το Rancher είναι μια πλατφόρμα ενορχήστρωσης που λειτουργεί από κοντέινερ για τη διαχείριση εμπορευματοκιβωτίων, καθώς και ευρύτερων πτυχών της υποδομής, όπως οικοδεσπότες, περιβάλλοντα και άλλα. Ένας διακομιστής Rancher ελέγχει την ενορχήστρωση και ένας πράκτορας Rancher αναπτύσσεται σε κάθε κεντρικό υπολογιστή που διαχειρίζεται ο Rancher.
Σε αυτό το άρθρο, θα ακολουθήσουμε τα ακόλουθα βήματα για την ανάπτυξη ενός διακομιστή Rancher:
Cloud-init script
- Δημοσιεύστε ένα αρχείο cloud-init για εγκατάσταση και εκτέλεση του διακομιστή Rancher.
PXE script
- Γράψτε μια δέσμη ενεργειών PXE για να ανακτήσετε το αρχείο cloud-init και να εκκινήσετε τον κεντρικό υπολογιστή για πρώτη φορά.
Firewall
- Δημιουργήστε μια ομάδα τείχους προστασίας, γιατί η ασφάλεια είναι πρωταρχικής σημασίας.
Start it up
- Παρέχετε τον κεντρικό υπολογιστή και εγκαταστήστε το Rancher.
Απαιτήσεις
- VPS με ελάχιστο 1 GB RAM - Θα εγκαταστήσουμε τον διακομιστή Rancher σε αυτόν τον κεντρικό υπολογιστή.
- Αποκλεισμός αποθήκευσης - Για μόνιμη αποθήκευση δεδομένων, διαμορφώσεων, χρηστών και άλλων διακομιστή Rancher.
- 1 Δεσμευμένη διεύθυνση IP - Για να δώσετε στους πράκτορες του Rancher μια συνεπή IP που θα χρησιμοποιούν για να ενταχθούν στο περιβάλλον Rancher.
Σενάριο Cloud-init
Αποθηκεύστε την ακόλουθη δέσμη ενεργειών σε μια τοποθεσία προσβάσιμη από τον κεντρικό υπολογιστή σας μέσω, HTTP/HTTPS
ώστε να μπορεί να την παραπέμπει από τη δέσμη ενεργειών PXE.
Αντικαταστήστε τα ssh-...
εξαρτήματα με το δημόσιο κλειδί SSH σας, ώστε να μπορείτε να SSH στον κεντρικό υπολογιστή.
#cloud-config
ssh_authorized_keys:
- ssh-...
write_files:
- path: /cloud-config.yml
permissions: "0700"
owner: root
content: |
#cloud-config
ssh_authorized_keys:
- ssh-...
mounts:
- ["/dev/vdb1", "/mnt", "ext4", ""]
rancher:
services:
rancher-server:
image: rancher/server:stable
ports:
- 8080:8080
restart: always
volumes:
- /mnt/rancher-server-mysql:/var/lib/mysql
- path: /opt/rancher/bin/start.sh
permissions: "0700"
owner: root
content: |
#!/bin/bash
echo y | ros install -f -c /cloud-config.yml -d /dev/vda
Σημειώστε ότι αυτό είναι στην πραγματικότητα φύτευση ενός cloud-config.yml
μέσα σε ένα άλλο cloud-config.yml
. Το εξωτερικό φορτώνεται όταν το iPXE εκκινεί τον κεντρικό υπολογιστή για πρώτη φορά και εγκαθιστά το Rancher στη μονάδα δίσκου του κεντρικού υπολογιστή /dev/vda
. Η εσωτερική διαμόρφωση είναι για τις επόμενες εκκινήσεις και θα ξεκινήσει στην πραγματικότητα τον διακομιστή Rancher.
Τα δεδομένα MySQL αποθηκεύονται στο μπλοκ αποθήκευσης /dev/vdb
, έτσι τα κρίσιμα δεδομένα και οι διαμορφώσεις διακομιστή Rancher μπορούν να επιβιώσουν από την αντικατάσταση του κεντρικού υπολογιστή VPS.
Μπορείτε να ανεβάσετε το σενάριο σε οποιονδήποτε αριθμό δωρεάν τοποθεσιών που είναι προσβάσιμες ως URL δημόσια ή μπορείτε να το φιλοξενήσετε σε διαφορετικό VPS, ώστε να είναι προσβάσιμο μόνο από τους οικοδεσπότες σας μέσω ενός ιδιωτικού δικτύου.
Σενάριο PXE
Αντιγράψτε το παρακάτω ως σενάριο εκκίνησης PXE που ονομάζεται " Rancher Server
" ενώ αντικαθιστάτε το CLOUD_CONFIG_URL
με τη διεύθυνση URL του cloud-config.yml
αρχείου σας (κάτι σαν https://example.com/cloud-config.yml
).
#!ipxe
# Location of Kernel/Initrd images
set base-url https://releases.rancher.com/os/latest
kernel ${base-url}/vmlinuz rancher.state.dev=LABEL=RANCHER_STATE -- rancher.cloud_init.datasources=[url:CLOUD_CONFIG_URL]
initrd ${base-url}/initrd
boot
Αυτό θα τραβήξει το πιο πρόσφατο ISO του RancherOS και θα το εκκινήσει στη μνήμη χρησιμοποιώντας το σενάριο cloud-init. Στη συνέχεια, το σενάριο του cloud-init θα προχωρήσει στην εγκατάσταση του RancherOS στο δίσκο και η δεύτερη εκκίνηση θα εκτελέσει το κοντέινερ διακομιστή Rancher.
Τείχος προστασίας
Όταν το Rancher γίνει για πρώτη φορά διαθέσιμο, όποιος φτάσει στο τελικό σημείο θα έχει αμέσως δικαιώματα διαχειριστή.
Για να αποτρέψετε την παραβίαση του διακομιστή Rancher από τρίτους, δημιουργήστε ένα τείχος προστασίας που ονομάζεται "Rancher Server" με τους ακόλουθους κανόνες:
TCP 22
στην IP σας, ώστε να μπορείτε να SSH στον κεντρικό υπολογιστή.
TCP 8080
στην IP σας, ώστε να μπορείτε να φορτώσετε την ιστοσελίδα του διακομιστή Rancher.
TCP 8080
για οποιουσδήποτε κεντρικούς υπολογιστές πράκτορα Rancher, ώστε να μπορούν να εγγραφούν στον διακομιστή Rancher.
Ξεκινήστε το
Παρέχετε τον κεντρικό υπολογιστή σας 1+ GB στην ίδια περιοχή με τον αποκλειστικό αποθηκευτικό χώρο σας και ορίστε τον Server Type
στο προσαρμοσμένο σενάριο εκκίνησης iPXE "Rancher Server".
Μόλις εκκινηθεί, φροντίστε να μετατρέψετε την IP του σε δεσμευμένη IP, ώστε οι πράκτορες του Rancher να έχουν ένα τελικό σημείο στο οποίο μπορούν να εγγράφονται με συνέπεια.
Θα χρειαστούν περίπου 4 λεπτά για να τραβήξει το iPXE το RancherOS ISO, η πρώτη εκκίνηση για να εγκαταστήσει το RancherOS στο /dev/vda
, και για τη δεύτερη εκκίνηση να τραβήξει την rancher/server:stable
εικόνα του Docker και να εκκινήσει τα κοντέινερ του.
Μόλις ολοκληρωθεί, θα μπορείτε να το φτάσετε στο http://YOUR_RESERVED_IP:8080
.
Συγχαρητήρια, μόλις ρυθμίσατε τον διακομιστή Rancher στο RancherOS.
Μπορείτε να επανεκκινήσετε την παρουσία σας ή ακόμα και να την καταστρέψετε / να την εγκαταστήσετε ξανά και ο αποθηκευτικός χώρος μπλοκ θα διατηρήσει τα δεδομένα και τις διαμορφώσεις σας, ενώ η δεσμευμένη IP σας θα επιτρέψει στους νέους πράκτορες του Rancher να γνωρίζουν πού θα βρουν τον διακομιστή σας.
Μερικά επόμενα βήματα:
Set up access control
- Τουλάχιστον, δημιουργήστε έναν τοπικό διαχειριστή χρήστη με ασφαλή κωδικό πρόσβασης.
Add hosts
- στην Add Hosts -> Custom
ενότητα, αντιγράψτε τη διεύθυνση URL που περιέχει ένα μακρύ διακριτικό ειδικά για τον διακομιστή Rancher σας. Θα χρειαστείτε αυτό για να εγγράψετε πράκτορες Rancher στον διακομιστή σας.
Explore
την πιο πρόσφατη τεκμηρίωση διακομιστή Rancher .