Garden v0.10.0: Ο φορητός υπολογιστής σας δεν χρειάζεται Kubernetes

Σημείωση. μετάφρ.: Με λάτρεις της Kubernetes από το έργο Κήπος γνωριστήκαμε σε μια πρόσφατη εκδήλωση KubeCon Europe 2019, όπου μας έκαναν ευχάριστη εντύπωση. Αυτό το υλικό τους, γραμμένο για ένα επίκαιρο τεχνικό θέμα και με αξιοσημείωτο χιούμορ, είναι μια ξεκάθαρη επιβεβαίωση αυτού και γι' αυτό αποφασίσαμε να το μεταφράσουμε.

Μιλάει για το κύριο πράγμα (με το ίδιο όνομα) προϊόν εταιρεία, της οποίας η ιδέα είναι να αυτοματοποιήσει τις ροές εργασίας και να απλοποιήσει την ανάπτυξη εφαρμογών στο Kubernetes. Για να γίνει αυτό, το βοηθητικό πρόγραμμα σάς επιτρέπει να αναπτύσσετε εύκολα (κυριολεκτικά με μία εντολή) νέες αλλαγές που έγιναν στον κώδικα στο σύμπλεγμα προγραμματιστών και παρέχει επίσης κοινόχρηστους πόρους/κρυφές μνήμες για να επιταχύνετε τη δημιουργία και τη δοκιμή του κώδικα από την ομάδα. Πριν από δύο εβδομάδες ο Κήπος φιλοξένησε έκδοση 0.10.0, στο οποίο κατέστη δυνατή η χρήση όχι μόνο ενός τοπικού συμπλέγματος Kubernetes, αλλά και ενός απομακρυσμένου: αυτό είναι το γεγονός στο οποίο είναι αφιερωμένο αυτό το άρθρο.

Το λιγότερο αγαπημένο μου πράγμα είναι να δουλεύω με Kubernetes στον φορητό υπολογιστή μου. Ο «τιμονιέρης» κατατρώει τον επεξεργαστή και την μπαταρία του, κάνει τα ψυγεία να περιστρέφονται ασταμάτητα και είναι δύσκολο να συντηρηθεί.

Garden v0.10.0: Ο φορητός υπολογιστής σας δεν χρειάζεται Kubernetes
Φωτογραφία στοκ με θέμα για επιπλέον εφέ

Minikube, kind, k3s, Docker Desktop, microk8s κ.λπ. - εξαιρετικά εργαλεία που δημιουργήθηκαν για να κάνουν τη χρήση του Kubernetes όσο πιο βολική γίνεται και τους ευχαριστούμε γι' αυτό. Σοβαρά. Αλλά όπως και να το δεις, ένα πράγμα είναι ξεκάθαρο: το Kubernetes δεν είναι κατάλληλο για λειτουργία στον φορητό υπολογιστή μου. Και ο ίδιος ο φορητός υπολογιστής δεν έχει σχεδιαστεί για να λειτουργεί με ένα σύμπλεγμα κοντέινερ διάσπαρτα σε επίπεδα εικονικών μηχανών. Ο καημένος κάνει το καλύτερό του, αλλά σαφώς δεν του αρέσει αυτή η δραστηριότητα, δείχνοντας τη δυσαρέσκειά του για το ουρλιαχτό των ψυκτικών και προσπαθώντας να κάψει τους μηρούς του όταν τον γονάτισα απερίσκεπτα.

Ας πούμε: laptop - laptop.

Κήπος είναι ένα εργαλείο για προγραμματιστές που καταλαμβάνει την ίδια θέση με το Skaffold και το Draft. Απλοποιεί και επιταχύνει την ανάπτυξη και τη δοκιμή εφαρμογών Kubernetes.

Από τη στιγμή που ξεκινήσαμε να δουλεύουμε στο Garden, πριν από περίπου 18 μήνες, το ξέραμε τοπικός Η ανάπτυξη κατανεμημένων συστημάτων είναι μια προσωρινή λύση, επομένως το Garden χτίστηκε με σημαντική ευελιξία και γερά θεμέλια.

Είμαστε πλέον έτοιμοι να υποστηρίξουμε τόσο τοπικά όσο και απομακρυσμένα περιβάλλοντα Kubernetes. Η εργασία έχει γίνει πολύ πιο εύκολη: η συναρμολόγηση, η ανάπτυξη και οι δοκιμές μπορούν πλέον να πραγματοποιηθούν σε ένα απομακρυσμένο σύμπλεγμα.

Σύντομα μιλώντας:

Με το Garden v0.10, μπορείτε να ξεχάσετε εντελώς ένα τοπικό σύμπλεγμα Kubernetes και να εξακολουθείτε να λαμβάνετε γρήγορη απόκριση στις αλλαγές κώδικα. Όλα αυτά είναι δωρεάν και ανοιχτού κώδικα.

Garden v0.10.0: Ο φορητός υπολογιστής σας δεν χρειάζεται Kubernetes
Απολαύστε την ίδια εμπειρία σε τοπικά και απομακρυσμένα περιβάλλοντα

Τραβήξατε την προσοχή σας;

Και χαίρομαι για αυτό, γιατί έχουμε πολλά ακόμα ενδιαφέροντα χαρακτηριστικά! Η γενική χρήση των συμπλεγμάτων dev έχει ευρύτερες επιπτώσεις, ειδικά για συνεργατικές ομάδες και αγωγούς CI.

Πως και έτσι?

Πρώτα απ 'όλα, ο συλλέκτης intra-cluster - είτε είναι τυπικός δαίμονας Docker είτε Kaniko - καθώς και το μητρώο εντός του συμπλέγματος είναι κοινόχρηστα για ολόκληρο το σύμπλεγμα. Η ομάδα σας μπορεί να μοιράζεται ένα σύμπλεγμα προγραμματιστών, με κρυφές μνήμες και εικόνες διαθέσιμες σε όλους τους προγραμματιστές. Επειδή οι ετικέτες Garden που βασίζονται σε κατακερματισμούς πηγής, οι ετικέτες και τα επίπεδα ορίζονται μοναδικά και με συνέπεια.

Αυτό σημαίνει ότι μόλις ένας προγραμματιστής δημιουργήσει μια εικόνα, γίνεται διαθέσιμο σε όλη την ομάδα. Μέρα με τη μέρα, κατεβάζουμε τις ίδιες βασικές εικόνες και κάνουμε τις ίδιες δομές στους υπολογιστές μας. Αναρωτιέστε πόση κίνηση και ηλεκτρικό ρεύμα σπαταλιέται;..

Το ίδιο μπορεί να ειπωθεί για τις δοκιμές: τα αποτελέσματά τους είναι διαθέσιμα σε ολόκληρο το σύμπλεγμα και σε όλα τα μέλη της ομάδας. Εάν ένας από τους προγραμματιστές έχει δοκιμάσει μια συγκεκριμένη έκδοση του κώδικα, δεν χρειάζεται να εκτελέσετε ξανά την ίδια δοκιμή.

Με άλλα λόγια, το θέμα δεν είναι απλώς να μην τρέχεις minikube. Αυτό το άλμα ανοίγει το δρόμο για την ομάδα σας Πολλά ευκαιρίες βελτιστοποίησης - όχι άλλες περιττές κατασκευές και δοκιμαστικές εκτελέσεις!

Τι γίνεται με το CI;

Οι περισσότεροι από εμάς έχουμε συνηθίσει στο γεγονός ότι το CI και το local dev είναι δύο ξεχωριστοί κόσμοι που πρέπει να ρυθμιστούν ξεχωριστά (και δεν μοιράζονται μια κρυφή μνήμη). Τώρα μπορείτε να τα συνδυάσετε και να απαλλαγείτε από την περίσσεια:

Μπορείτε να εκτελέσετε τις ίδιες εντολές στο CI και στη διαδικασία ανάπτυξης, καθώς χρησιμοποιήστε ένα ενιαίο περιβάλλον, κρυφές μνήμες και αποτελέσματα δοκιμών.

Ουσιαστικά, το CI σας γίνεται ένα bot προγραμματιστή που λειτουργεί στο ίδιο περιβάλλον με εσάς.

Garden v0.10.0: Ο φορητός υπολογιστής σας δεν χρειάζεται Kubernetes
Στοιχεία συστήματος. απρόσκοπτη ανάπτυξη και δοκιμή

Οι διαμορφώσεις αγωγών CI μπορούν να απλοποιηθούν σημαντικά. Για να το κάνετε αυτό, απλώς εκτελέστε το Garden από το CI για εκδόσεις, δοκιμές και αναπτύξεις. Εφόσον εσείς και το CI χρησιμοποιείτε το ίδιο περιβάλλον, είναι πολύ λιγότερο πιθανό να αντιμετωπίσετε προβλήματα CI.

Σκάβοντας σε αμέτρητες γραμμές ρυθμίσεων και σεναρίων, μετά σπρώχνοντας, περιμένοντας, ελπίζοντας και ατελείωτες επαναλήψεις... Όλα αυτά ανήκουν στο παρελθόν. Απλώς κάνεις ανάπτυξη. Χωρίς περιττές κινήσεις.

Και για να ξεκαθαρίσουμε τελικά την κατάσταση: όταν εσείς ή κάποιο άλλο μέλος της ομάδας κατασκευάσατε ή δοκιμάσατε κάτι με το Garden, το ίδιο συνέβη και για το CI. Εάν δεν έχετε αλλάξει τίποτα από την εκτέλεση της δοκιμής, τότε δεν χρειάζεται να εκτελέσετε δοκιμές (ή ακόμα και εκδόσεις) για CI. Το Garden κάνει τα πάντα μόνο του και στη συνέχεια προχωρά σε άλλες εργασίες, όπως η οργάνωση του περιβάλλοντος πριν από την κυκλοφορία, η προώθηση αντικειμένων κ.λπ.

Ακούγεται δελεαστικό. Πώς να δοκιμάσετε;

Καλωσόρισες στο το αποθετήριο GitHub μας! Εγκαταστήστε το Garden και παίξτε με τα παραδείγματα. Για όσους χρησιμοποιούν ήδη το Garden ή θέλουν να το γνωρίσουν καλύτερα, προσφέρουμε Οδηγός απομακρυσμένου Kubernetes. Ελάτε μαζί μας στο κανάλι #garden στο Kubernetes Slack, εάν έχετε ερωτήσεις, προβλήματα ή απλά θέλετε να συνομιλήσετε. Είμαστε πάντα έτοιμοι να βοηθήσουμε και να καλωσορίσουμε τα σχόλια των χρηστών.

ΥΓ από τον μεταφραστή

Σύντομα θα δημοσιεύσουμε επίσης μια ανασκόπηση χρήσιμων βοηθητικών προγραμμάτων για προγραμματιστές εφαρμογών που δραστηριοποιούνται στο Kubernetes, η οποία περιλαμβάνει και άλλα ενδιαφέροντα έργα εκτός από το Garden... Στο μεταξύ, διαβάστε επίσης στο blog μας:

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο