ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

Νέα απο τον πλανήτη…planet/ellak.gr: Multipass | Instant Ubuntu VMs στον υπολογιστή σας

by: Cerebrux

Το Multipass είναι ένας ελαφρύς διαχειριστής VM για Windows, Linux και macOS. Είναι κατάλληλο για προγραμματιστές, web developers, DevOps, Sysadmins που θέλουν με μία μόνο εντολή ένα η περισσότερα Ubuntu servers στον laptop η το PC τους.

Με το Multipass μπορείτε να δημιουργήσετε ένα η περισσότερα Ubuntu VM για δοκιμές, ανάπτυξη εφαρμογών, docker instances, kubernetes κ.α. Είναι cross-platform και επομένως χρησιμοποιείτε το ίδιο εργαλείο ανεξαρτήτως λειτουργικού του υπολογιστή σας.

Ίσως σε μερικούς θυμίσει Vagrant, Windows Subsystem for Linux, LXC/LXD OS containers η απλές εικονικές μηχανές που κάνετε εγκατάσταση μέσω π.χ. του VirtualBox/ KVM Manager. Ενώ έχει ομοιότητες, διατηρεί όμως την απλότητα και μινιμαλισμό για όσους δεν θέλουν να ασχοληθούν με εγκατάσταση λειτουργικού (π.χ. VirtualBox) η θέλουν να ρυθμίζουν, όπως θα δούμε με μια εντολή τι πόρους θέλουν να δώσουν στα VM και να ξεμπερδεύουν.

Το Multipass, στο backend του, χρησιμοποιεί KVM στο Linux, Hyper-V η VirtualBox σε Windows και HyperKit η VirtualBox σε macOS για να τρέξει το VM με ελάχιστη επιβάρυνση στο κυρίως λειτουργικό σας.

Στον σημερινό οδηγό θα δούμε την εγκατάστασή του σε Linux, Windows και macOS. Στα παραδείγματα χρησιμοποιώ Windows 10 Pro αλλά οι εντολές όπως είπα πιο πάνω είναι ίδιες ανεξαρτήτως λειτουργικού.

Εγκατάσταση Multipass

Linux

Στο Linux μπορείτε να το εγκαταστήσετε με την παρακάτω εντολή:

Windows 10

Οι ελάχιστες απαιτήσεις για Windows είναι :

  • Windows 10 Pro/Enterprise (1803) με Hyper-V η νεότερο
  • Windows 10 Home/Pro/Enterprise with VirtualBox

Στο Windows μπορείτε να το εγκατστήσετε είτε μέσω Chocolatey είτε να το κατεβάσετε απο το multipass.run

Για σημειώσεις εγκατάστασης Windows δείτε την επίσημη τεκμηρίωση (ιδιαίτερα για troubleshooting) :

Windows 10 πρώτη εκκίνηση του Multipass με Hyper-V

Μόλις εγκαταστήσετε το multipass, θα χρειαστεί να ξεκινήσετε το τερματικό του Windows με δικαιώματα διαχειριστή. Όταν τρέξετε για πρώτη φορά το multipass θα σας ενημερώσει αν έχετε ενεργή την υπηρεσία Hyper-V ή όχι οπότε και θα σας προτείνει να το ενεργοποιήσετε είτε από την Προσθαφαίρεση δυνατοτήτων του Windows είτε τρέχοντας την παρακάτω εντολή:

Windows 10 πρώτη εκκίνηση του Multipass με VirtualBox

Τη πρώτη φορά θα πρέπει να ανοίξετε το τερματικό του Windows 10 με δικαιώματα Administrator και να τρέξετε:

macOS

Οι ελάχιστες απαιτήσεις για macOS είναι :

  • macOS Yosemite (10.10.3) η νεότερο σε Mac του 2010 ή νεότερο

Μπορείτε να το κατεβάσετε να το κάνετε εγκατάσταση από το multipass.run

ή να το κάνετε εγκατάσταση μέσω brew:

Για σημειώσεις εγκατάστασης macOS δείτε την επίσημη τεκμηρίωση (ιδιαίτερα για troubleshooting) :

macOS πρώτη εκκίνηση του Multipass με VirtualBox

Εξορισμού το multipass χρησιμοποιεί το hyperkit. Αν όμως θέλετε να χρησιμοποιήσετε το VirtulaBox ως backend τότε δίνετε την παρακάτω εντολή:

Σημείωση: Τη στιγμή της σύνταξης του οδηγού, τα VM του multipass που εκτελούνται με το VirtualBox σε MacOS δεν θα λάβουν διευθύνσεις IP.

Βασικές εντολές του multipass

Για να δούμε τις βασικές εντολές, ας υποθέσουμε το σενάριο, ότι έχουμε ένα ή περισσότερα Ubuntu VPS κάπου… στο Cloud και θέλουμε να δημιουργήσουμε ένα αντίστοιχο περιβάλλον στο PC μας για πειράματα, ανάπτυξη Web (ξεριζώστε επιτέλους το XAMPP, WAMP…. έλεος… ναι σε σένα μιλάω…) κ.α. Στο τέλος θα κάνουμε και εγκατάσταση του Cockpit για να διαχειριζόμαστε τις υπηρεσίες που τρέχουμε σε αυτά.

Ανοίξετε το τερματικό και δώστε multipass. Θα δείτε τις παραμέτρους που λαμβάνει

Επίσης, θα παρατηρήσετε ότι έχει δημιουργήσει και ένα Quick access στο system tray του λειτουργικού σας (Windows, Linux macOS).

Δημιουργία Ubuntu server instance

Ας δημιουργήσουμε ένα Ubuntu Server στο PC μας:

Θα ξεκινήσει η λήψη του Ubuntu server image και έπειτα η εγκατάστασή του. Μόλις ολοκληρωθεί, θα λάβει ένα τυχαίο hostname το οποίο είναι χρήσιμο για να μπορούμε να αντλήσουμε κάποιες πληροφορίες για τον server:

Αν τρέξουμε άλλη μια φορά το multipass launch θα χρησιμοποιήσει το ίδιο image που είχε κατεβάσει αλλά θα δημιουργήσει ένα νέο server instance με άλλο hostname. Για να δούμε όλα τα instance που έχουμε φτιάξει, τρέχουμε:

Δημιουργία προκαθορισμένου Ubuntu server instance

Αν θέλουμε να καθορίσουμε το όνομα -n , την RAM -m , δίσκο -d, επεξεργαστές -c η κάποιο cloud-init configuration --cloud-init <file> που θα χρησιμοποιεί κάποιο instance δίνουμε:

Για τις διαθέσιμες παραμέτρους του launch μπορούμε να μάθουμε απο την εντολή:

Αντιγραφή αρχείων στον Server

Αν θέλουμε να αντιγράψουμε κάποια αρχείο από τον server στο PC μας χρησιμοποιούμε την μορφή multipass copy-files onomainstance:/diadromi/arxeiou diadromi/sto/pc:

Με την τελεία στο τέλος δηλώνουμε ότι θέλουμε να αποθηκευτούν στην διαδρομή που τρέχουμε το shell.

Κοινόχρηστος φάκελος με τον Server

Αν θέλουμε έναν κοινόχρηστο φάκελο π.χ. τον φάκελο shared μεταξύ του υπολογιστή μας και του instance (για χρήση κοινόχρηστων αρχείων), το κάνουμε προσάρτηση με την παρακάτω εντολή:

Από αυτό το σημείο και έπειτα ο φάκελος shared θα είναι διαθέσιμος μέσα στο instance παρουσία. Χρησιμοποιήστε το umount για να το αποπροσαρτήσετε ή αν θέλετε να αλλάξετε την διαδρομή στην οποία γίνεται προσάρτηση:

Εκτέλεση εντολών απευθείας από τον Server

Μπορούμε να πούμε στον server να τρέξει μια εντολή χωρίς να συνδεθούμε σε αυτόν με την μορφή multipass exec onomainstance -- entoli:

Είσοδος στο Server instance

Για να συνδεθούμε στον server δίνουμε την παρακάτω εντολή:

Μόλις συνδεθεί, θα ήμαστε πλέον μέσα στο Ubuntu Server και άρα μπορούμε να κάνουμε ότι θα κάναμε και στο VPS μας.

Επίσης μπορείτε από το system tray να ξεκινήσετε απευθείας ένα Shell που θα σας βάλει μέσα στο Ubuntu Server.

Μέσα στο VM αυτό μπορείτε π.χ. να τρέξετε ότι Ubuntu/Debian εντολές θέλετε. Στο παράδειγμά μας θα εγκαταστήσουμε το Cockpit που είναι ένα εύχρηστο και ανοιχτού κώδικα web περιβάλλον για διαχείριση ενός η περισσοτέρων Server.

Μέσα στον server τρέχουμε:

Με την παραπάνω εντολή εγκαθιστούμε :

  • Το backend του cockpit
  • Το Web περιβάλλον
  • Υποστήριξη για εγκατάσταση docker containers
  • Υποστήριξη για εγκατάσταση/ αναβάθμιση εφαρμογών

Επειδή όμως στο Ubuntu 18.04 πιθανόν να τρέχει μια παλιά έκδοση του cockpit, ας την αναβαθμίσουμε απο τα backports του Ubuntu

Μια ρύθμιση που πρέπει να κάνουμε πριν χρησιμοποιήσουμε το Cockpit είναι το password του χρήστη Ubuntu που χρησιμοποιεί by default το instance μας. Αυτός ο χρήστης δεν έχει password αλλά το Cockpit θα μας το ζητήσει για να συνδεθούμε στο panel του. Οπότε πάμε να προσθέσουμε ένα password:

Τέλος χρηματιζόμαστε την IP του instance μας την οποία όπως είδαμε μπορούμε να μάθουμε από το multipass info onoma-server η μέσα από το Ubuntu με την εντολή ip addr :

Έπειτα ανοίγουμε τον browser μας και πληκτρολογούμε την IP και port 9090

Επειδή είναι, προφανώς self signed το SSL certificate, θα μας προειδοποιήσει ο browser και επομένως το θα το αγνοήσουμε για να μπούμε μέσα στο Cockpit.

Εδώ μπορούμε να δούμε τα logs των υπηρεσιών, πληροφορίες συστήματος, ενημερώσεις εφαρμογών ακόμα και να ξεκινήσουμε docker containers. Τέλος μπορούμε να προσθέσουμε και τα υπόλοιπα instances με την διεύθυνσή τους.

Για περισσότερα σχετικά με το Cockpit μπορείτε να διαβάσετε την επίσημη τεκμηρίωσή του:

Φυσικά ανάλογα και με τις εργασίες που θέλετε να κάνετε, μπορείτε να έχετε Panels όπως το Webmin, Virtualmin, ISPConfig, Anjeti, Vestapanel κλπ αν ασχολείστε με web hosting η το Portainer αν ασχολείστε με Docker η ακόμα και Kubernetes Dashboard αν έχετε συνδυάσει πολλαπλά instances σε k8s cluster.

Εκκίνηση, τερματισμός και Διαγραφή των instance

Για να σταματήσετε ένα instance δίνετε:

1multipass stop onoma-server

Για να ξεκινήσετε ένα instance δίνετε:

1multipass start onoma-server

Για να μετακινήσετε ένα instance στον «εικονικό κάδο» δίνετε:

1multipass delete onoma-server

Για να επαναφέρετε ένα instance απο τον «εικονικό κάδο» δίνετε:

1multipass recover onoma-server

Για να διαγράψετε εντελώς ένα instance δίνετε:

12345multipass delete onoma-servermultipass purgemultipass ls.No instances found.

Για την επίσημη τεκμηρίωση δείτε το Multipass Command-line Reference

Γραφικό περιβάλλον για τα multipass instance

Επειδή ανάλογα το λειτουργικό αλλά και το backend που χρησιμοποιείτε, δεν υπάρχει επίσημο γραφικό περιβάλλον πέραν π.χ. των Hyper-V Manager, VirtualBox κλπ. Έτσι στο Windows 10 Pro για παράδειγμα αν χρησιμοποιείτε Hyper-V μπορείτε να δείτε και να διαχειριστείτε τα instance από τον Hyper-V manager

Φυσικά είναι ολίγον overkill το να έχετε μάθει τις βασικές εντολές και να χρησιμοποιείτε γραφικό περιβάλλον…

Σύνοψη για το Multipass

Με το multipass είδαμε πως μπορούμε να δημιουργήσουμε ένα ή περισσότερα Ubuntu VM instances και να καθορίσουμε τους πόρους που θα καταλαμβάνουν από το σύστημά μας.

Έτσι, μέσα σε λίγα λεπτά μπορούμε να έχουμε ένα mini cloud dev environment για πειράματα και δοκιμές ώστε αν π.χ. χρησιμοποιούμε Ubuntu VMs στο cloud να μπορούμε να κάνουμε replicate το περιβάλλον εργασίας μας τοπικά. Η αν αναπτύσσουμε Web εφαρμογές ή ιστοσελίδες να μην χρειάζεται να κάνουμε όλη την διαδικασία εγκατάστασης λειτουργικού σε VM.

Παραπομπές:

Πηγή άρθρου: https://planet.ellak.grhttps://cerebrux.net

One thought on “Νέα απο τον πλανήτη…planet/ellak.gr: Multipass | Instant Ubuntu VMs στον υπολογιστή σας

  1. Ωραίος οδηγός! Ευχαριστούμε.
    Αν τρέχεις GNU/Linux όμως δεν είναι προτιμότερο να δημιουργείς εικονικές μηχανές χρησιμοποιώντας την ενσωματωμένη στον πυρήνα δυνατότητα και όχι εφαρμογές τρίτων από το virtualbox, VMWare και το Multipass ;

Leave a Comment