- Το Portainer είναι ένα γραφικό περιβάλλον εργασίας που βασίζεται στον ιστό και συγκεντρώνει τη διαχείριση των Docker, Kubernetes και Swarm χωρίς να βασίζεται αποκλειστικά στην κονσόλα.
- Επιτρέπει την ανάπτυξη εφαρμογών χρησιμοποιώντας πρότυπα και την οπτική διαχείριση τόμων, δικτύων και στοίβων Compose.
- Η εγκατάστασή του μπορεί να γίνει χρησιμοποιώντας άμεσες εντολές Docker ή μέσω αρχείων διαμόρφωσης YAML για μεγαλύτερο έλεγχο.
Αν έχετε ασχοληθεί με τον κόσμο της αυτο-φιλοξενίας, είτε πρόκειται για τη δημιουργία ενός οικιακού διακομιστή σε ένα Raspberry Pi, ένα NAS ή ένα dedicated μηχάνημα, θα γνωρίζετε ότι το Docker είναι ένα ισχυρό εργαλείο . Ωστόσο, η συνεχής μάχη με το τερματικό μπορεί να γίνει λίγο κουραστική, ειδικά όταν αρχίζετε να εκτελείτε δεκάδες κοντέινερ ταυτόχρονα. Εδώ έρχεται το Portainer, ένα γραφικό περιβάλλον εργασίας που βασίζεται στον ιστό και σας επιτρέπει να σταματήσετε να πληκτρολογείτε ατελείωτες εντολές και να ξεκινήσετε να διαχειρίζεστε τα πάντα με μερικά μόνο κλικ.
Ουσιαστικά, το Portainer λειτουργεί ως ένας ενοποιημένος πίνακας ελέγχου. Δεν είναι μια διανομή Kubernetes, αλλά μάλλον λογισμικό ανοιχτού κώδικα που συγκεντρώνει τη διαχείριση των υπαρχουσών υποδομών. Είτε χρησιμοποιείτε τη δωρεάν έκδοση Community Edition (CE) είτε την επί πληρωμή έκδοση για επιχειρήσεις, ο στόχος είναι ο ίδιος: να κάνετε την ανάπτυξη, τη διαμόρφωση και την αντιμετώπιση προβλημάτων των εφαρμογών σας πολύ πιο οπτική και απλή για όλους, από τους γκουρού του DevOps μέχρι τους λάτρεις του ψηφιακού DIY.
Πολλοί άνθρωποι αναρωτιούνται αν ένα γραφικό περιβάλλον χρήστη (GUI) είναι πραγματικά απαραίτητο όταν έχουμε το τερματικό. Η σύντομη απάντηση είναι ότι, για καθημερινή χρήση, είναι απίστευτα βολικό. Ενώ το Docker είναι μια ελαφριά λύση εικονικοποίησης που χρησιμοποιεί τον πυρήνα του Linux για να απομονώσει διεργασίες χωρίς το βάρος μιας εικονικής μηχανής, το Portainer μας δίνει άμεση ορατότητα στους πόρους . Μπορείτε να δείτε με μια ματιά ποια κοντέινερ είναι υγιή, ποια έχουν αποτύχει και πόση CPU ή RAM καταναλώνουν χωρίς να χρειάζεται να εκτελέσετε πολύπλοκες εντολές ελέγχου.
Μεταξύ των πιο ισχυρών χαρακτηριστικών του είναι η διαχείριση των στοίβων Docker Compose , η οποία σας επιτρέπει να εκκινείτε πολλαπλές διασυνδεδεμένες υπηρεσίες χρησιμοποιώντας ένα μόνο αρχείο YAML. Απλοποιεί επίσης τη διαχείριση μόνιμων τόμων και εικονικών δικτύων , αποτρέποντάς σας από την τυχαία διαγραφή κρίσιμων δεδομένων κατά την αφαίρεση ενός κοντέινερ. Για όσους μαθαίνουν, είναι το τέλειο εργαλείο επειδή σας επιτρέπει να πειραματιστείτε με προκαθορισμένα πρότυπα , αναπτύσσοντας δημοφιλείς υπηρεσίες σε δευτερόλεπτα.
Εγκατάσταση σε διακομιστές NAS και οικιακά περιβάλλοντα
Αν έχετε ένα NAS από μάρκες όπως η Synology, η QNAP ή η Asustor, είστε τυχεροί. Σε αυτές τις συσκευές, το Docker συνήθως διατίθεται ως εφαρμογή που μπορεί να εγκατασταθεί από το δικό τους κατάστημα (για παράδειγμα, στο QNAP, είναι γνωστό ως Container Station ). Μόλις εγκατασταθεί η μηχανή Docker, μπορείτε να αναπτύξετε το Portainer. Παρόλο που ορισμένες συσκευές NAS την έχουν ενσωματωμένη, είναι πιο συνηθισμένο να το κάνετε μέσω SSH.
Για να το εγκαταστήσετε μέσω γραμμής εντολών σε αυτά τα περιβάλλοντα, συνήθως χρησιμοποιείται μια εντολή docker runΕίναι απαραίτητο να αντιστοιχίσετε την υποδοχή Docker (/var/run/docker.sock) ώστε ο Portainer να μπορεί επικοινωνία με τον κεντρικό κινητήραΜια σημαντική λεπτομέρεια σε ορισμένα συστήματα όπως το Asustor είναι ότι μπορεί να προκύψουν σφάλματα δικαιωμάτων. Σε αυτήν την περίπτωση, εκτελέστε sudo chmod 666 /var/run/docker.sock Αυτό συνήθως λύνει το πρόβλημα επιτρέποντας στο κοντέινερ να έχει πρόσβαση στην υποδοχή χωρίς περιορισμούς.
Προηγμένη ανάπτυξη με το Docker Compose
Για όσους αναζητούν μια πιο επαγγελματική και συντηρήσιμη εγκατάσταση, η ιδανική λύση είναι να χρησιμοποιήσουν μια λίμα compose.yamlΣε αντίθεση με τους παλαιότερους οδηγούς, δεν είναι πλέον απαραίτητο να συμπεριληφθεί το κλειδί έκδοσης, καθώς η σύγχρονη προδιαγραφή το αγνοεί. Αυτό συνιστάται ανεπιφύλακτα. καρφιτσώστε την εικόνα σε μια συγκεκριμένη έκδοση (για παράδειγμα, 2.40.0) αντί να χρησιμοποιήσετε την ετικέτα latestέτσι, αποτρέποντας μια αυτόματη ενημέρωση από το να παραβιάσει τις ρυθμίσεις σας.
Ένα παράδειγμα μιας ισχυρής διαμόρφωσης περιλαμβάνει τη χρήση του τόμοι με ονόματα portainer_dataΑυτό είναι ζωτικής σημασίας επειδή ολόκληρη η κατάσταση της εφαρμογής (χρήστες, τελικά σημεία και διαμορφώσεις) βρίσκεται στον φάκελο. /data του κοντέινερ. Εάν χρησιμοποιήσετε ένα αυτοσχέδιο bind-mount και το διαγράψετε, θα χάσετε ολόκληρη την παρουσία. Επιπλέον, είναι καλή πρακτική να προσαρτήσετε την υποδοχή Docker στο λειτουργία μόνο για ανάγνωση (:ro)επειδή το Portainer ελέγχει τα πάντα μέσω API και δεν χρειάζεται να γράφει απευθείας στην υποδοχή του συστήματος κεντρικού υπολογιστή.
Έναρξη και ρύθμιση ασφαλείας
Μόλις ξεκινήσει το κοντέινερ, συνήθως μπορείτε να αποκτήσετε πρόσβαση σε αυτό μέσω της θύρας 9443 (HTTPS) ή 9000 (HTTP) εισάγοντας τη διεύθυνση IP του διακομιστή σας στο πρόγραμμα περιήγησής σας. Την πρώτη φορά που θα συνδεθείτε, το σύστημα θα σας ζητήσει να δημιουργήσετε έναν χρήστη διαχειριστή με ισχυρό κωδικό πρόσβασης. Σημειώστε ότι αυτή η αρχική διαδικασία εγκατάστασης έχει χρονικό όριο 5 λεπτών . Εάν υπερβείτε αυτόν τον χρόνο, θα χρειαστεί να επανεκκινήσετε το κοντέινερ για να προσπαθήσετε να συνδεθείτε ξανά.
Σε περιβάλλοντα παραγωγής, η άμεση έκθεση του Portainer στο διαδίκτυο είναι επικίνδυνη. Είναι καλύτερο να το τοποθετήσετε πίσω από ένα... αντίστροφο proxy όπως το TraefikΜε αυτόν τον τρόπο, μπορείτε Ενσωματώστε τα Docker, Traefik και Portainer σε μια ολοκληρωμένη στοίβα για τη διαχείριση των πιστοποιητικών Let's Encrypt TLS και την ανακατεύθυνση της κυκλοφορίας στην εσωτερική θύρα 9000 του Portainer, επιτρέποντάς σας να έχετε πρόσβαση σε αυτήν μέσω ενός επαγγελματικού τομέα (όπως portainer.tuweb.com) χωρίς να χρειάζεται να ανοίξετε παράξενες θύρες στο τείχος προστασίας σας.
Διαχείριση κοντέινερ και απομακρυσμένων τελικών σημείων
Μέσα στον πίνακα, το «τοπικό» περιβάλλον είναι το μέρος όπου συμβαίνει η μαγεία. Από εδώ μπορείτε να αντλήσετε εικόνες από το Docker Hub , να δημιουργήσετε κοντέινερ από την αρχή ή να διαχειριστείτε δίκτυα και τόμους. Μία από τις πιο χρήσιμες λειτουργίες είναι η πρόσβαση στην κονσόλα κοντέινερ , η οποία σας επιτρέπει να εισέλθετε στο τερματικό οποιασδήποτε εφαρμογής που εκτελείται χωρίς να φύγετε από το πρόγραμμα περιήγησής σας.
Αλλά το Portainer δεν περιορίζεται σε έναν μόνο διακομιστή. Χρησιμοποιώντας το Edge Agent , μπορείτε να συνδέσετε πολλούς απομακρυσμένους κόμβους σε μία κεντρική παρουσία του Portainer. Ο παράγοντας είναι ένα ελαφρύ κοντέινερ που εγκαθιστάτε στους άλλους διακομιστές και ανοίγει μια εξερχόμενη σήραγγα προς τον κύριο διακομιστή, επιτρέποντάς σας να διαχειρίζεστε το Docker Swarm και το Portainer Edge για να ελέγχετε τα συμπλέγματα Swarm ή Kubernetes από ένα μόνο σημείο ελέγχου, ανεξάρτητα από τη φυσική τοποθεσία των μηχανημάτων.
Το Portainer μεταμορφώνει την εμπειρία του Docker, μεταβαίνοντας από μια δυσκίνητη διαχείριση που βασίζεται σε τερματικό σε ένα οπτικό οικοσύστημα όπου ο έλεγχος εικόνων, στοιβών και τόμων είναι διαισθητικός. Είτε το εγκαθιστάτε με μια γρήγορη εντολή είτε δημιουργείτε ένα επαγγελματικό περιβάλλον με το Compose και το Traefik, αυτό το εργαλείο εξασφαλίζει αποτελεσματική, επεκτάσιμη και, πάνω απ' όλα, πολύ πιο προσβάσιμη διαχείριση κοντέινερ για κάθε χρήστη.





