Kubectl Autoscale Command

Kubectl Autoscale Command



Το Kubernetes παρέχει δυνατότητα αυτόματης κλιμάκωσης για αυτόματη διαχείριση των πόρων χωρίς ανθρώπινη αλληλεπίδραση. Η λειτουργία αυτόματης κλίμακας αλλάζει αυτόματα τον αριθμό των κόμβων όταν απαιτείται και εξοικονομεί πόρους. Σε αυτό το άρθρο, θα μάθουμε πώς να αναπτύσσουμε την εντολή 'kubectl autoscale' και την αυτόματη κλιμάκωση 'HorizontalPodScaler'. Αυτό το σεμινάριο διδάσκει αυτή τη σημαντική έννοια λεπτομερώς. Ας συζητήσουμε πρώτα τι είναι η έννοια της αυτόματης κλίμακας kubectl και, στη συνέχεια, ας κατευθυνθούμε προς τη διαδικασία βήμα προς βήμα για καλύτερη κατανόηση. Αυτό το άρθρο είναι πολύ χρήσιμο εάν είστε νέοι στην έννοια της αυτόματης κλίμακας Kubernetes.

Τι είναι το 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 αυτόματης κλίμακας.