Τι είναι το Kubectl Autoscale;
Η αυτόματη κλιμάκωση είναι το κύριο χαρακτηριστικό στο σύμπλεγμα Kubernetes που κάνει τους πόρους να ενημερώνονται αυτόματα χωρίς την ταλαιπωρία να το κάνετε με το χέρι. Η μη αυτόματη ενημέρωση των απαιτητικών πόρων είναι μια διαδικασία που σπαταλά πολύ χρόνο και πόρους. Η αυτόματη κλίμακα Kubernetes παρέχει μια αυτόματη διευκόλυνση για τη βελτιστοποίηση των πόρων.
Το Autoscaler μπορεί να δημιουργήσει και να καταστρέψει τον αριθμό των κόμβων σύμφωνα με τις απαιτήσεις. Η αυτόματη κλίμακα μειώνει τη σπατάλη πόρων. Η αυτόματη κλίμακα Kubectl επιλέγει αυτόματα τα pods που εκτελούνται αυτήν τη στιγμή μέσα στο σύμπλεγμα Kubernetes.
Υπάρχουν δύο τύποι κλιμάκωσης: (1) HorizontalPodScaler και (2) Vertical scaler. Ο οριζόντιος κλιμακωτής είναι διαφορετικός από τον κατακόρυφο κλιμακωτή. Το HorizontalPodScaler βοηθά στη μείωση ή την αύξηση των λοβών όταν χρειάζεται. Από την άλλη πλευρά, το Vertical scaler χρησιμοποιεί πόρους όπως CPU και μνήμη.
Ακολουθούν όλα τα βήματα που μπορείτε να ακολουθήσετε στο σύστημά σας και να δείτε τα αποτελέσματα για καλύτερη κατανόηση.
Βήμα 1: Ξεκινώντας ένα σύμπλεγμα Minikube
Στο πρώτο βήμα, ξεκινήστε το εργαλείο minikube για να εκτελέσετε το σύμπλεγμα Kubernetes, ώστε να μπορούμε να εκτελέσουμε την εντολή 'kubectl autoscale'. Μπορείτε να ρυθμίσετε τους κόμβους, τα pod, ακόμη και ένα σύμπλεγμα στο περιβάλλον Kubernetes χρησιμοποιώντας το σύμπλεγμα minikube. Για να το κάνετε αυτό, χρησιμοποιήστε την ακόλουθη εντολή για να διατηρήσετε το minikube σε ενεργή λειτουργία:
~$ ξεκινήστε το minikube
Όπως μπορείτε να δείτε στο ακόλουθο στιγμιότυπο οθόνης εξόδου, αυτή η εντολή ενεργοποιεί το σύμπλεγμα minikube και κάνει χρήση του περιβάλλοντος Kubernetes:
Βήμα 2: Λάβετε τις λεπτομέρειες του pod
Σε αυτό το βήμα, το σύμπλεγμα Kubernetes εκτελείται με επιτυχία. Τώρα, λαμβάνουμε τις λεπτομέρειες του pod στο σύμπλεγμα. Το pod στο Kubernetes είναι η συλλογή μονάδων που μοιράζονται πόρους. Το ακόλουθο σενάριο εκτελείται εκτελώντας την ακόλουθη εντολή στο σύμπλεγμα minikube:
~$ kubectl πάρε λοβόΧρησιμοποιώντας την προηγούμενη εντολή που είναι 'kubectl get pods', μπορούμε να λάβουμε τη λίστα με όλα τα pods που εκτελούνται στο σύμπλεγμα Kubernetes.
Αφού εκτελέσουμε την εντολή «get pods», λαμβάνουμε την ακόλουθη έξοδο:
Βήμα 3: Λάβετε τις αναπτύξεις του Pod
Στην προηγούμενη εντολή 'kubectl get pods', λαμβάνουμε τις λεπτομέρειες των pods. Τώρα, χρησιμοποιούμε την εντολή 'get Deployment' για να αποκτήσουμε τη λίστα με τις δημιουργημένες αναπτύξεις. Για το σκοπό αυτό εκτελείται το ακόλουθο σενάριο:
~$ kubectl λάβει αναπτύξειςΜετά την εκτέλεση της εντολής, το ακόλουθο στιγμιότυπο οθόνης δείχνει την έξοδο:
Βήμα 4: Ανάπτυξη αυτόματης κλίμακας
Η εντολή αυτόματης κλίμακας χρησιμοποιείται για την επιλογή αυτοματισμού των ομάδων που εκτελούνται στο σύμπλεγμα. Με την ανάπτυξη της αυτόματης κλίμακας στο σύμπλεγμα, εισάγουμε και τερματίζουμε αυτόματα τον αριθμό των κόμβων. Το ακόλουθο σενάριο εκτελείται στο σύμπλεγμα minikube και δείχνει το όνομα αρχείου, τις ελάχιστες ομάδες ομάδων και τις μέγιστες ομάδες όπου οι ομάδες θα πρέπει να είναι μεταξύ 2 και 10:
~$ ανάπτυξη αυτόματης κλίμακας kubectl nginx1-deployment1 --ελάχ = 2 --Μέγιστη = 10Μετά την εκτέλεση της εντολής, δημιουργείται η ακόλουθη έξοδος:
Βήμα 5: Δημιουργήστε ένα αρχείο YAML Kubernetes
Σε αυτό το βήμα, θα μάθετε να δημιουργείτε το αρχείο YAML στο σύμπλεγμα. Το αρχείο YAML είναι χρήσιμο για δοκιμή ανάπτυξης και εφαρμογής. Υπάρχουν διάφοροι τύποι στο Kubernetes για τη δημιουργία και την επεξεργασία του αρχείου.
Σε αυτό το άρθρο, χρησιμοποιούμε την εντολή «nano» για να δημιουργήσουμε το αρχείο YAML γιατί είναι ο ευκολότερος τρόπος και η καλύτερη επιλογή για αρχάριους.
Ακολουθήστε τα παρακάτω βήματα για να δημιουργήσετε ένα αρχείο YAML χρησιμοποιώντας το nano:
- Για να δημιουργήσετε ένα νέο αρχείο ή να αλλάξετε ένα υπάρχον, μεταβείτε στην επιθυμητή θέση καταλόγου.
- Πληκτρολογήστε 'nano'. Μετά από αυτό, γράψτε το όνομα του αρχείου. Για παράδειγμα, εάν θέλετε να δημιουργήσετε ένα νέο όνομα αρχείου, γράψτε το όνομα - 'deploo.yaml'.
Εκτελέστε το ακόλουθο σενάριο και δημιουργήστε ένα αρχείο YAML στον κατάλογο του έργου:
~$ nano deploo.yamlΑφού δημιουργήσετε το αρχείο “deploo.yaml”, το επόμενο βήμα είναι να διαμορφώσετε το αρχείο YAML. Το εξηγούμε στο επόμενο βήμα.
Βήμα 6: Περιεχόμενο του αρχείου YAML
Σε αυτό το βήμα, μπορούμε εύκολα να διαμορφώσουμε τον διακομιστή Apache και τα αρχεία PHP. Πριν χρησιμοποιήσουμε το HorizontalPodScaler, πρέπει να διαμορφώσουμε την οθόνη παρακολούθησης φόρτου εργασίας. Όπως το ακόλουθο κομμάτι κώδικα δείχνει το είδος:ανάπτυξη, η θύρα του προγράμματος περιήγησης ιστού είναι 90 και το όριο της CPU είναι 200 μέτρα.
Μπορείτε να δείτε τις πλήρεις πληροφορίες του αρχείου 'deploo.yaml' εδώ:
apiVersion : apps/v1είδος : Ανάπτυξη
μεταδεδομένα :
όνομα : php
spec :
εκλέκτορας :
matchLabels :
τρέξιμο : php-apache
πρότυπο :
μεταδεδομένα :
ετικέτες :
τρέξιμο : php-apache
spec :
δοχεία :
- όνομα : php
εικόνα : registry.k8s.io/hpa-example
λιμάνια :
- containerPort : 90
πόροι :
όρια :
ΕΠΕΞΕΡΓΑΣΤΗΣ : 200μ
αιτήσεων :
ΕΠΕΞΕΡΓΑΣΤΗΣ : 100μ
---
apiVersion : v1
είδος : Υπηρεσία
μεταδεδομένα :
όνομα : php
ετικέτες :
τρέξιμο : php-apache
spec :
λιμάνια :
- Λιμάνι : 70
εκλέκτορας :
τρέξιμο : php-apache
Βήμα 7: Δημιουργήστε την Ανάπτυξη
Σε αυτό το βήμα, ας δημιουργήσουμε το αρχείο YAML με το όνομα 'deploo.yaml'. Το ακόλουθο σενάριο εκτελείται στο σύμπλεγμα minikube:
~$ kubectl δημιουργία -f deploo.yamlΗ έξοδος της προαναφερθείσας εντολής που εκτελέσαμε φαίνεται στο στιγμιότυπο οθόνης που ακολουθεί. Η έξοδος δείχνει ότι το αρχείο YAML έχει δημιουργηθεί:
Βήμα 8: Δημιουργήστε το HorizontalPodScaler
Σε αυτό το βήμα, θα σας δείξουμε την εντολή για τη δημιουργία του HorizontalPodAutoscaler. Οι λοβοί εισάγονται και τερματίζονται αυτόματα ανάλογα με τη ζήτηση. Διαφέρει από την κατακόρυφη κλιμάκωση, όπου η CPU και οι πόροι μνήμης εκχωρούνται με αυτόματη κλίμακα. Το ακόλουθο σενάριο εκτελείται στο σύμπλεγμα minikube:
~$ ανάπτυξη αυτόματης κλίμακας kubectl php -- ΕΠΕΞΕΡΓΑΣΤΗΣ - τοις εκατό = πενήντα -- ελάχ = 10 -Μέγιστη = είκοσιΕδώ, μπορείτε να δείτε ότι ορίσαμε τις τιμές για το ελάχιστο και το μέγιστο σε 10 και 20.
Επισυνάπτεται η έξοδος της προηγούμενης εντολής:
Βήμα 9: Ελέγξτε το HorizontalPodScaler
Σε αυτό το βήμα, ελέγχουμε την τρέχουσα κατάσταση του HorizontalPodAutoscaler που δημιουργήθηκε πρόσφατα. Εκτελείται η ακόλουθη εντολή:
~$ kubectl πάρε hpaσυμπέρασμα
Ένα από τα πιο χρήσιμα χαρακτηριστικά του Kubernetes είναι το 'kubectl autoscale' που παρέχει αυτόματες ενημερώσεις πόρων στο σύμπλεγμα Kubernetes. Το Autoscaler βοηθά όταν ένα cluster χρειάζεται να αυξήσει τα pods ή να μειώσει τα pods. Σε αυτό το άρθρο, μάθαμε τις δύο μεθόδους αυτόματης κλίμακας - η μία είναι η προεπιλεγμένη αυτόματη κλίμακα και η άλλη είναι το HorizontalPodScaler.
Αρχικά, αναπτύξαμε τα pods και τα δηλώσαμε. Στη συνέχεια, δημιουργήσαμε το πρόγραμμα αυτόματης κλίμακας και ρυθμίσαμε τον διακομιστή Apache ώστε να αναπτύσσει την οθόνη φόρτου εργασίας πριν από το HorizontalPodScaler. Μετά από αυτό, δημιουργήσαμε ένα αρχείο YAML και το HorizontalPodScaler. Αυτό το άρθρο επικεντρώθηκε στα λεπτομερή βήματα δημιουργίας, διαμόρφωσης και ανάπτυξης του Kubernetes αυτόματης κλίμακας.