Επιστροφή στο blog

Εγκατάσταση λογισμικού στο Kubernetes με τον Διαχειριστή Πακέτων Helm 3 στα Windows

Εγκατάσταση λογισμικού στο Kubernetes με τον Διαχειριστή Πακέτων Helm 3 στα Windows

Αν προέρχεστε από περιβάλλον ανάπτυξης, πιθανότατα γνωρίζετε τον όρο Package Manager. Οι Package Managers σάς επιτρέπουν να εγκαθιστάτε εξαρτήσεις, να αναβαθμίζετε και να υποβαθμίζετε εκδόσεις και ούτω καθεξής. Σε αυτόν τον οδηγό, θα δούμε έναν πολύ δημοφιλή διαχειριστή πακέτων για το Kubernetes, που ονομάζεται Helm.

Το Helm βοηθά στη διαχείριση εφαρμογών Kubernetes. Με το Helm, μπορείτε να ορίσετε μια εφαρμογή Kubernetes, καθορίζοντας τα μεταδεδομένα, τις εξαρτήσεις και τις ρυθμίσεις της εφαρμογής. Το Helm μπορεί επίσης να εγκαταστήσει εφαρμογές στο Kubernetes, καθώς και να αναβαθμίσει και να υποβαθμίσει τις εφαρμογές. Τέλος, μπορείτε να μοιραστείτε την εφαρμογή σας με άλλους χρησιμοποιώντας το αρχείο Helm. Σε αυτόν τον οδηγό, θα σας δείξουμε πώς να εγκαταστήσετε το Helm 3, καθώς και πώς να ρυθμίσετε, να αναβαθμίσετε, να επαναφέρετε και να διαχειριστείτε charts και εκδόσεις σε λειτουργικό σύστημα Windows.

Ας ξεκινήσουμε!

Προαπαιτούμενα

Πριν ξεκινήσουμε τον οδηγό, πρέπει να βεβαιωθείτε ότι έχετε εγκαταστήσει πρώτα τα εξής:

  • Αν δεν έχετε ρυθμίσει το Kubernetes στα Windows, ο ευκολότερος τρόπος είναι να ξεκινήσετε με το Docker Desktop. Μεταβείτε στο https://www.docker.com/products/docker-desktop. Κατεβάστε και εγκαταστήστε το Docker Desktop. Σε αυτόν τον οδηγό, θα εργαστούμε με Windows. Επομένως, θα χρειαστεί να εγκαταστήσουμε το WSL 2 Backend. Αυτό είναι ένα υποσύστημα Linux για Windows και επιτρέπει την υποστήριξη του Docker:

Docker Desktop Kubernetes with Helm

Μόλις το Docker Desktop είναι έτοιμο, μεταβείτε στο Settings -> Kubernetes, και επιλέξτε την επιλογή που λέει Enable Kubernetes:

Docker Settings Kubernetes with Helm

Enable k8s Kubernetes with Helm

Για να ελέγξετε αν όλα λειτουργούν καλά, μεταβείτε στο τερματικό/powershell όποιου συστήματος χρησιμοποιείτε και πληκτρολογήστε την παρακάτω εντολή:

Αν δείτε το παρακάτω αποτέλεσμα, είστε έτοιμοι:

kubectl Kubernetes with Helm

Εναλλακτικά, αν αποφασίσετε να εργαστείτε σε Ubuntu, μπορείτε να ακολουθήσετε τον αναλυτικό οδηγό μας: Πώς να εγκαταστήσετε και να χρησιμοποιήσετε το Kubernetes στο Ubuntu 20.04.

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

  • Charts

 Τα αρχεία YAML του Kubernetes είναι συσκευασμένα στα Helm charts.

  • Helm Repositories

Το Helm παρέχει υποστήριξη για αποθετήρια. Ένα αποθετήριο Helm είναι μια τοποθεσία που φιλοξενεί Helm charts, ώστε να μπορούν να τα χρησιμοποιήσουν άλλοι. Το Helm σάς επιτρέπει να δημιουργήσετε τα δικά σας αποθετήρια καθώς και να υποστηρίξετε αποθετήρια τρίτων.

  • Tiller

Το Tiller είναι το στοιχείο διακομιστή του Helm. Πρέπει να εγκατασταθεί στο Kubernetes cluster. Λαμβάνει το Helm Chart και διαμορφώνει ανάλογα το cluster.

Μπορείτε επίσης να ρίξετε μια ματιά στο άρθρο του ιστολογίου μας που παρέχει μια λεπτομερή επισκόπηση του Helm και εξηγεί τις μεθόδους του Helm για την απλοποίηση της ανάπτυξης εφαρμογών στο Kubernetes.

Τώρα, είμαστε έτοιμοι να ξεκινήσουμε!

Βήμα 1: Εγκατάσταση του Helm 3

Η εγκατάσταση του Helm 3 είναι μια απλή διαδικασία. Οι εκδόσεις είναι διαθέσιμες στη σελίδα του Helm στο GitHub. Μπορείτε να κατεβάσετε την έκδοση που θα χρησιμοποιήσετε με βάση το λειτουργικό σύστημα της επιλογής σας. Σε αυτόν τον οδηγό θα χρησιμοποιήσουμε το λειτουργικό σύστημα Windows, οπότε για τα Windows ακολουθήστε τα παρακάτω βήματα:

  1. Στη σελίδα του GitHub, κατεβάστε τα εκτελέσιμα αρχεία του Helm για Windows.

  2. Μόλις ολοκληρωθεί η λήψη, θα βρείτε το συμπιεσμένο αρχείο στον φάκελο Λήψεις ή οπουδήποτε αλλού το έχετε κατεβάσει.

  3. Στη συνέχεια, μετακινήστε αυτό το αρχείο σε μια βολική τοποθεσία και αποσυμπιέστε το. Θα πρέπει να βρείτε το αρχείο helm.exe στα αποσυμπιεσμένα περιεόμενα:
    helm_binary

  4. Αντιγράψτε την τοποθεσία του φακέλου και προσθέστε την στη μεταβλητή PATH στις μεταβλητές περιβάλλοντος του συστήματός σας.

  5. Μόλις τελειώσετε, ανοίξτε το τερματικό και πληκτρολογήστε την παρακάτω εντολή:

Αν δείτε το παρακάτω αποτέλεσμα, είστε έτοιμοι με την εγκατάσταση του Helm. Στη συνέχεια, μπορείτε να προχωρήσετε στα επόμενα βήματα:

helm

Βήμα 2: Ρύθμιση Αποθετηρίων και Εγκατάσταση ενός Helm Chart

Το Helm υποστηρίζει την πρόσβαση και τη διαχείριση αποθετηρίων. Τα αποθετήρια είναι το μέρος όπου αποθηκεύονται τα Helm Charts. Αρχικά, το Helm δεν έχει δικό του αποθετήριο. Αντίθετα, το Helm ενθαρρύνει τους διαχειριστές και τους ειδικούς DevOps να δημιουργούν τα δικά τους αποθετήρια. Αυτό σημαίνει ότι αν θέλετε να έχετε το MongoDB στο Kubernetes cluster σας, θα πρέπει να το προσθέσετε μόνοι σας στο αποθετήριο Helm. Για να σας βοηθήσει να βρείτε τα αποθετήρια, μπορείτε να χρησιμοποιήσετε το Artifact.io. Είναι ένας κατάλογος ανοιχτού κώδικα για όλα τα Helm charts, υπό τη διαχείριση του CNCF.

Παρακάτω θα σας δείξουμε πώς να ρυθμίσετε ένα αποθετήριο και να κατεβάσετε και να εγκαταστήσετε το λογισμικό. Θα πάρουμε την εγκατάσταση του MongoDB ως παράδειγμα. Ας υποθέσουμε ότι πρόκειται να εγκαταστήσετε το MongoDB στο Kubernetes cluster σας. Ακολουθήστε τα παρακάτω βήματα για την εγκατάσταση:

  1. Αρχικά, μεταβείτε στο https://artifacthub.io.

  2. Στη συνέχεια, αναζητήστε το MongoDB. Μόλις κάνετε την αναζήτηση, θα δείτε ότι υπάρχουν πολλές διαθέσιμες επιλογές. Αυτή που μας ενδιαφέρει είναι το MongoDB by Bitnami:
    search_mongodb

  3. Όταν ολοκληρωθεί η αναζήτηση, θα δείτε διάφορες επιλογές. Δίπλα σε κάθε chart, μπορείτε να δείτε τον εκδότη, την έκδοση και άλλες σχετικές πληροφορίες. Μόλις εντοπίσετε το chart που επιθυμείτε, πρέπει να το επιλέξετε. Εδώ κάνουμε κλικ στο MongoDB by Bitnami:
    select_mongodb

  4. Τώρα μπορεί πραγματικά να ξεκινήσει το τεχνικό κομμάτι. Αν κοιτάξετε τη γενική περιγραφή, θα δείτε ότι υπάρχει ένας καλός οδηγός για όποιον επιθυμεί να εγκαταστήσει οποιαδήποτε από τις υπηρεσίες. Μπορείτε να ελέγξετε διάφορες επιλογές, ρυθμίσεις, παραμέτρους, πώς να διαγράψετε το chart και οτιδήποτε άλλο για το οποίο μπορεί να χρειαστείτε πληροφορίες. Βρείτε το κουμπί Install και κάντε κλικ σε αυτό:
    mongodb_install Kubernetes with Helm

  5. Εδώ είναι όλα όσα χρειάζεστε για να εγκαταστήσετε το MongoDB. Αρχικά, πρέπει να προσθέσετε το αποθετήριο και στη συνέχεια να εγκαταστήσετε το chart. Για να προσθέσετε το αποθετήριο, ανοίξτε το τερματικό και πληκτρολογήστε την εντολή:

Θα δείτε το παρακάτω αποτέλεσμα:

repo_add_bitnami

Τώρα που έχετε ρυθμίσει το αποθετήριο, πρέπει να εγκαταστήσετε το chart. Αντιγράψτε την εντολή από το παράθυρο διαλόγου και στη συνέχεια εκτελέστε την:

Μόλις ολοκληρωθεί η διαδικασία, είστε έτοιμοι με το MongoDB.

Βήμα 3: Διαχείριση Εκδόσεων

Στην ανάπτυξη λογισμικού, η διαχείριση των εκδόσεων είναι ζωτικής σημασίας. Υπάρχουν πάντα στιγμές που πρέπει να ενημερώσετε ή να επαναφέρετε σε προηγούμενες εκδόσεις. Ευτυχώς, η διαχείριση των εκδόσεων στο Helm είναι μια σχετικά απλή διαδικασία. Το Helm διατηρεί αριθμούς εκδόσεων, ώστε να μπορείτε πάντα να επιστρέφετε στην προηγούμενη έκδοση. Ομοίως, ας υποθέσουμε ότι η εφαρμογή σας έχει αναπτυχθεί και είναι ενεργή, και πρέπει να κάνετε ρυθμίσεις - το Helm υποστηρίζει και αυτό. Παρακάτω θα δούμε μερικές βέλτιστες πρακτικές που θα σας βοηθήσουν να εκτελέσετε αυτές τις λειτουργίες.

  • Πώς να ενημερώσετε την εφαρμογή

Ας υποθέσουμε ότι στο values.YAML αρχείο σας, αναφέρετε ότι πρέπει να έχετε δύο στιγμιότυπα της εφαρμογής σε λειτουργία. Αυτό μπορεί να οφείλεται στο ότι η εφαρμογή σας πρέπει να είναι υψηλής διαθεσιμότητας. Αλλά αργότερα, συνειδητοποιείτε ότι η εφαρμογή πρέπει να έχει τρία στιγμιότυπα. Χωρίς το Helm, θα πρέπει πρώτα να κατεβάσετε την εφαρμογή και στη συνέχεια να τη ρυθμίσετε και να την αναπτύξετε ξανά. Χρησιμοποιώντας το Helm, μπορείτε πρώτα να κάνετε αλλαγές στο αρχείο values.YAML και στη συνέχεια απλώς να εκτελέσετε την παρακάτω εντολή. Στον κατάλογό σας όπου βρίσκονται τα αρχεία Helm, εκτελέστε την ακόλουθη εντολή:

  • Πώς να επαναφέρετε την έκδοση

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

Το Helm θα αναλάβει όλες τις εκδόσεις και τη διαχείριση εκδόσεων. Αυτό είναι ένα από τα μεγαλύτερα πλεονεκτήματα της χρήσης του Helm με το Kubernetes. Για να δείτε όλες τις εκδόσεις οποιασδήποτε εφαρμογής, εκτελέστε την παρακάτω εντολή στον κατάλογο που περιέχει τα Helm charts και τα αρχεία YAML:

Βήμα 4: Δημιουργήστε το Δικό σας Chart

Τέλος, τώρα που είστε εξοικειωμένοι με το Helm και κατανοείτε πώς λειτουργεί, ήρθε η ώρα να δημιουργήσετε το δικό σας chart. Δημιουργώντας το δικό σας προσαρμοσμένο chart, μπορείτε εύκολα να διανείμετε την εφαρμογή σας καθώς και να τη φιλοξενήσετε σε οποιοδήποτε αποθετήριο. Η δημιουργία του chart σας είναι μια αρκετά απλή διαδικασία εάν ακολουθήσετε τα βήματα που θα περιγράψουμε παρακάτω. Αρχικά, ανοίξτε το τερματικό και εκτελέστε την παρακάτω εντολή:

Αυτό θα δημιουργήσει τον κατάλογο με το όνομα που δώσατε. Εμείς χρησιμοποιούμε το όνομα my-app. Ας δούμε τα περιεχόμενα του φακέλου:

Θα λάβετε την παρακάτω δομή:

Ακολουθεί μια σύνοψη του περιεχομένου στο αποτέλεσμα:

  • φάκελος charts – Χρησιμοποιείται για την προσθήκη εξαρτώμενων charts.
  • φάκελος templates – Ρυθμίσεις που θα αναπτυχθούν στο cluster.
  • Αρχείο YAML – Περίγραμμα της δομής του Helm chart.
  • Αρχείο YAML – Πληροφορίες μορφοποίησης για τη ρύθμιση του chart.

Στη συνέχεια, ακολουθήστε τα παρακάτω βήματα για να εγκαταστήσετε και να ρυθμίσετε το chart σας:

  • Ρύθμιση εικόνας (image) και λήψης (pull)

Open the values.YAML file. Here find the image node. Then, you can configure it as you wish. Possible values are IfNotPresent, Always, Latest. Μπορείτε να βρείτε το πλήρες σύνολο των τιμών στην επίσημη τεκμηρίωση.

  • Παράκαμψη ονόματος chart

Αυτό το βήμα είναι προαιρετικό, οπότε μπορείτε να το παραλείψετε αν το επιθυμείτε:
override

  • Όνομα υπηρεσίας (Service name)

Open the values.YAML file and locate the serviceName. Then, add the desired name. It is good to have a name prepared before installing the chart:
service_name

  • Εγκατάσταση του chart

Τέλος, για να εγκαταστήσετε το chart εκτελέστε την παρακάτω εντολή:

Σας συμβουλεύουμε να εξερευνήσετε προσεκτικά όλες τις υπάρχουσες επιλογές για να ρυθμίσετε το chart σας πριν το αναπτύξετε στο cluster.

Γιατί οι προγραμματιστές λατρεύουν το Helm

Το Helm κερδίζει δημοτικότητα μεταξύ των προγραμματιστών και των ειδικών DevOps που πρέπει να ανεβάζουν και να κατεβάζουν τις αναπτύξεις (deployments) περιστασιακά. Ακολουθούν μερικά από τα κύρια οφέλη του Helm:

  1. Το Helm απλοποιεί τη διαδικασία ανάπτυξης. Δεν φέρνει κάτι καινούργιο για εκμάθηση, αλλά οι υπάρχουσες αναπτύξεις YAML γίνονται εύκολα παραμετροποιήσιμες από τον χρήστη.

  2. Αντί να αλλάζει συχνά η διαμόρφωση, όπως ο αριθμός των clusters ή των θυρών (ports), το Helm την καθιστά εύκολα παραμετροποιήσιμη. Το μόνο που χρειάζεται να κάνει ο χρήστης είναι να ενημερώσει τις τιμές στο values.YAML αρχείο.

  3. Το Helm επιτρέπει την κοινή χρήση της εφαρμογής με άλλους χρήστες, συσκευάζοντάς την σε αποθετήρια (repositories).

Συμπέρασμα

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

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

Καλή υπολογιστική!

author

Pranay Kapgate

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.