Φορτίστε το Kubernetes με αυτά τα απίθανα εργαλεία

Αυτό το άρθρο θα σας παρουσιάσει μερικά εκπληκτικά εργαλεία που μπορούν να συνδυαστούν με το Kubernetes για να προσθέσετε περισσότερη ισχύ σε αυτό.

Όταν εργάζεστε σε ένα οικοσύστημα DevOps, θα συνειδητοποιήσετε πόσο σημαντικό είναι να έχετε εκπληκτικά εργαλεία DevOps για να διευκολύνετε το μη αυτόματο φόρτωμά σας. Πολλά εργαλεία DevOps είναι διαθέσιμα για κάθε στάδιο DevOps και διαφορετικές λειτουργίες.

Το Kubernetes είναι ένα από τα απαραίτητα αν εργάζεστε στον τομέα DevOps και εκτελείτε τις εφαρμογές σας μέσα σε κοντέινερ. Υπάρχουν εκατοντάδες εργαλεία εκεί έξω που λειτουργούν σε συνδυασμό με το Kubernetes για να προσθέσουν περισσότερες δυνατότητες. Μιλάω για εργαλεία για καλύτερη διαχείριση, ασφάλεια, ταμπλό, παρακολούθηση του συμπλέγματος Kubernetes.

Εδώ είναι μια λίστα με τέτοια εκπληκτικά εργαλεία που προσθέτουν περισσότερη δύναμη στο Kubernetes σας.

Ας αρχίσουμε!

Τιμόνι

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

Χρησιμοποιεί γραφήματα, που ονομάζονται Helm Charts για να ορίσει, να εγκαταστήσει και να αναβαθμίσει πολύπλοκες εφαρμογές Kubernetes.

Χαρακτηριστικά τιμονιού:

  • Φροντίζει για όλη την πολυπλοκότητα της εφαρμογής Kubernetes χρησιμοποιώντας γραφήματα
  • Χρησιμοποιεί αναβαθμίσεις και προσαρμοσμένα άγκιστρα για να ενημερώνει τα πράγματα εύκολα.
  • Τα γραφήματα μπορούν να κοινοποιηθούν εύκολα σε δημόσιους ή ιδιωτικούς διακομιστές.
  • Εύκολη επαναφορά με μία μόνο εντολή
  • Βελτιώνει την παραγωγικότητα των προγραμματιστών και ενισχύει την επιχειρησιακή ετοιμότητα

Flagger

Flagger είναι ένας Διαχειριστής Προοδευτικής Παράδοσης για την Kubernetes.

Αυτοματοποιεί την προώθηση αναπτύξεων καναρινιών χρησιμοποιώντας Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, Skipper routing για μετατόπιση κυκλοφορίας και Prometheus για ανάλυση καναρινιών. Στην ανάπτυξη καναρινιών, διαθέτετε τις εκδόσεις σε μια μικρή ομάδα χρηστών, το δοκιμάζετε, εάν λειτουργεί καλά, διαθέτετε την κυκλοφορία σε όλους.

Χρησιμοποιεί το πλέγμα υπηρεσίας που εκτελείται στο σύμπλεγμα σας για τη διαχείριση της κίνησης που μεταβαίνει μεταξύ μιας ανάπτυξης και μιας άλλης. Για τη μετατόπιση της επισκεψιμότητας στο καναρίνι, μετρά δείκτες απόδοσης όπως η μέση διάρκεια των αιτημάτων, το ποσοστό επιτυχίας των αιτημάτων HTTP, η υγεία του pod κ.λπ.

Το Flagger μπορεί να εκτελέσει αυτοματοποιημένη ανάλυση εφαρμογών, προώθηση και επαναφορά για διάφορες στρατηγικές ανάπτυξης, όπως Canary, A/B testing, Blue/Green ανάπτυξη.

Kubewatch

Kubewatch είναι ένα πρόγραμμα παρακολούθησης Kubernetes ανοιχτού κώδικα που στέλνει μια ειδοποίηση μέσω του slack καναλιού.

Είναι γραμμένο στον προγραμματισμό Go και αναπτύχθηκε από την Bitnami Labs. Χρησιμοποιείται για την παρακολούθηση των πόρων Kubernetes και ειδοποιεί εάν υπάρχει οποιαδήποτε αλλαγή.

Μπορείτε να εγκαταστήσετε το Kubewatch μέσω του kubectl ή χρησιμοποιώντας διαγράμματα πηδαλίου. Είναι απλό στην κατανόηση και έχει πολύ εύχρηστο περιβάλλον εργασίας. Εκτός από το slack, υποστηρίζει επίσης HipChat, Mattermost, Flock, webhook και SMTP.

  Πώς να χρησιμοποιήσετε τα GIF στο σήμα

Ανάλογα με το ποια Kubernetes θέλετε να παρακολουθήσετε, μπορείτε να ορίσετε true ή false για αυτούς τους πόρους στο αρχείο ConfigMap. Μόλις ορίσετε τη διαμόρφωση του kubewatch και εκτελέσετε ένα pod, θα αρχίσετε να λαμβάνετε ειδοποιήσεις για το συμβάν Kubernetes, όπως φαίνεται παρακάτω.

Gitkube

Gitkube είναι ένα εργαλείο που χρησιμοποιεί το git push για τη δημιουργία και την ανάπτυξη εικόνων docker στο Kubernetes. Διαθέτει τρία εξαρτήματα – Τηλεχειριστήριο, gitkube-controller, gitkubed. Το Remote αποτελείται από προσαρμοσμένους πόρους τους οποίους διαχειρίζεται ο gitkube-controller. Το gitkube-controller στέλνει τις αλλαγές στο gitkubed, το οποίο στη συνέχεια δημιουργεί την εικόνα του docker και την αναπτύσσει.

Χαρακτηριστικά του Gitkube:

  • Εύκολη εγκατάσταση, σύνδεση και αναπαραγωγή
  • Παρέχει έλεγχο πρόσβασης βάσει ρόλου για ασφάλεια
  • Απλός στον έλεγχο ταυτότητας με χρήση δημόσιου κλειδιού
  • Υποστηρίζεται ένας χώρος ονομάτων για πολλαπλές μισθώσεις
  • Χωρίς επιπλέον εξαρτήσεις εκτός από kubectl και git

kube-state-metrics

kube-state-metrics είναι μια υπηρεσία που δημιουργεί μετρήσεις αντικειμένων κατάστασης ακούγοντας τον διακομιστή API Kubernetes. Χρησιμοποιείται για τον έλεγχο της υγείας διαφόρων αντικειμένων, όπως κόμβων, λοβών, χώρων ονομάτων και αναπτύξεων. Σας παρέχει ακατέργαστα, μη τροποποιημένα δεδομένα από το Kubernetes API.

Παρακάτω είναι οι πληροφορίες που παρέχονται από το kube-state-metrics:

  • Cron θέσεις εργασίας και κατάσταση εργασίας
  • Κατάσταση των λοβών (έτοιμα, σε λειτουργία, κ.λπ.)
  • Αιτήματα πόρων και το εύρος τους
  • Χωρητικότητα κόμβου και η κατάστασή του
  • Προδιαγραφές σετ αντιγράφων

Ο Κάμους

Ο Κάμους είναι ένα εργαλείο ανοιχτού κώδικα GitOps που χρησιμοποιείται για κρυπτογράφηση και αποκρυπτογράφηση μυστικών για εφαρμογές Kubernetes. Τα κρυπτογραφημένα μυστικά που κάνει ο Kamus μπορούν να αποκρυπτογραφηθούν μόνο από εφαρμογές που εκτελούνται στο σύμπλεγμα Kubernetes. Χρησιμοποιεί AES, Google Cloud KMS, Azure KeyVault για κρυπτογράφηση μυστικών. Μπορείτε να ξεκινήσετε με το Kamus χρησιμοποιώντας το διάγραμμα τιμονιού.

Το Kamus συνοδεύεται από δύο βοηθητικά προγράμματα – Kamus CLI και Kamus init container. Το Kamus CLI χρησιμοποιείται για ενσωμάτωση με το API κρυπτογράφησης και το κοντέινερ init Kamus χρησιμοποιείται για ενσωμάτωση με την αποκρυπτογράφηση του API.

Τα απλά μυστικά του Kubernetes δεν είναι κρυπτογραφημένα. είναι κωδικοποιημένα με βάση το 64. Δεν μπορείτε να το κρατήσετε στο Git ως έχει. δεν είναι ασφαλές. Οποιοσδήποτε έχει πρόσβαση στο repo θα μπορεί να χρησιμοποιήσει αυτά τα μυστικά. Ως εκ τούτου, απαιτείται μια σωστή λύση κρυπτογράφησης/αποκρυπτογράφησης, όπως το Kamus. Παρέχει επίσης ένα μοντέλο απειλών που φροντίζει τις απειλές και κάνει τα μυστικά ασφαλή.

Untrak

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

Αφού εισαγάγετε τα μανιφέστα στη διοχέτευση CI/CD χρησιμοποιώντας το πρότυπο kubectl application ή helm, η Kubernetes δεν γνωρίζει πότε θα διαγραφεί το αντικείμενο από το χώρο αποθήκευσης. Μόλις διαγραφούν τα αντικείμενα, δεν παρακολουθούνται στη διαδικασία παράδοσης και εξακολουθούν να βρίσκονται στο σύμπλεγμα Kubernetes.

Εκτελεί την εντολή εσωτερικά χρησιμοποιώντας ένα απλό αρχείο διαμόρφωσης untrak.yaml για να ανακαλύψει πόρους που δεν αποτελούν πλέον μέρος της διαχείρισης του πηγαίου κώδικα.

  9 αξιόπιστες πλατφόρμες φιλοξενίας ηλεκτρονικού εμπορίου για μικρά έως μεγάλα ηλεκτρονικά καταστήματα

Πεδίο εφαρμογής

Πεδίο ύφανσης είναι για οπτικοποίηση, παρακολούθηση και αντιμετώπιση προβλημάτων Docker και Kubernetes.

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

Η εκτέλεση εφαρμογών αρχιτεκτονικής microservice σε κοντέινερ docker δεν είναι τόσο εύκολη. Τα εξαρτήματα εδώ είναι πολύ δυναμικά και δύσκολα παρακολουθούνται. Με το εύρος ύφανσης, μπορείτε εύκολα να αντιμετωπίσετε διαρροές μνήμης και να ελέγξετε την κατανάλωση της CPU, να οπτικοποιήσετε τα σημεία συμφόρησης δικτύου.

Χαρακτηριστικά πεδίου:

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

Πίνακας ελέγχου Kubernetes

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

Μπορείτε να χρησιμοποιήσετε γραφήματα ελέγχου για να αναπτύξετε τον πίνακα ελέγχου Kubernetes ή να χρησιμοποιήσετε μια απλή εντολή kubectl που αναφέρεται παρακάτω:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

Kops

Kops σημαίνει Kubernetes Operations, ένα έργο ανοιχτού κώδικα που χρησιμοποιείται για τη δημιουργία έτοιμα για παραγωγή συμπλεγμάτων Kubernetes πολύ εύκολα και γρήγορα. Το Kops μπορεί να χρησιμοποιηθεί για την ανάπτυξη συμπλεγμάτων Kubernetes σε AWS και GCE κυρίως.

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

Το Kops έχει επίσης πολλά backend δικτύωσης και η επιλογή ενός από αυτά, ανάλογα με την περίπτωση χρήσης, σας διευκολύνει να δημιουργήσετε διάφορους τύπους συμπλεγμάτων.

cAdvisor

cAdvisor είναι ένα εργαλείο ανοιχτού κώδικα για την παρακολούθηση ενός κοντέινερ. Χρησιμοποιείται για την κατανόηση των χαρακτηριστικών απόδοσης και της χρήσης πόρων των κοντέινερ που εκτελούνται στο σύμπλεγμα.

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

Για να ξεκινήσετε με το cAdvisor, πρέπει να εκτελέσετε την εικόνα docker του google/cadvisor και, στη συνέχεια, μπορείτε να αποκτήσετε πρόσβαση στο http://localhost:8080 σε ένα πρόγραμμα περιήγησης ιστού.

  Πώς είναι οι κριτικές Flirt.com;

Kubespray

Kubespray είναι ένα δωρεάν εργαλείο που έχει δημιουργηθεί συνδυάζοντας Ansible playbooks και Kubernetes. Χρησιμοποιείται για τη διαχείριση κύκλου ζωής συμπλέγματος Kubernetes.

Χρησιμοποιώντας το Kubespray, μπορείτε να αναπτύξετε γρήγορα ένα σύμπλεγμα και να προσαρμόσετε όλες τις παραμέτρους μιας υλοποίησης συμπλέγματος, όπως τρόπους ανάπτυξης, προσθήκες δικτύου, διαμόρφωση DNS, εκδόσεις στοιχείων, μεθόδους παραγωγής πιστοποιητικών κ.λπ.

Εκτελώντας απλώς ένα απλό ansible-playbook, το σύμπλεγμα σας είναι έτοιμο και λειτουργεί. Μπορείτε εύκολα να κλιμακώσετε ή να αναβαθμίσετε το σύμπλεγμα Kubernetes.

K9s

K9s είναι ένα εργαλείο ανοιχτού κώδικα που βασίζεται σε τερματικά και το βοηθητικό πρόγραμμα ταμπλό του μπορεί να κάνει ό,τι κάνει μια διεπαφή ιστού Kubernetes. Χρησιμοποιείται για την πλοήγηση, την παρατήρηση και τη διαχείριση της εφαρμογής που αναπτύσσεται στο σύμπλεγμα Kubernetes.

Χαρακτηριστικά του K9:

  • Παρακολουθήστε το σύμπλεγμα σας σε πραγματικό χρόνο
  • Προσαρμόστε την οθόνη με βάση τον πόρο
  • Μεγέθυνση σε ζητήματα πόρων συμπλέγματος
  • Υποστηρίζει έλεγχο πρόσβασης βάσει ρόλων
  • Ενσωματωμένα σημεία αναφοράς για την επικύρωση της απόδοσης των πόρων

Kubetail

Kubetail είναι ένα απλό σενάριο bash που χρησιμοποιείται για τη συγκέντρωση αρχείων καταγραφής από πολλαπλές ομάδες σε μια ροή.

Πολύ βολικό!

Σας βοηθά στην αποσφαλμάτωση με ευκολία.

Η τελευταία έκδοση Kubetail έχει επίσης δυνατότητες επισήμανσης και φιλτραρίσματος. Αυτή η δυνατότητα σάς δίνει τη δυνατότητα να εκτελέσετε χρωματισμό κορμών. Χρησιμοποιώντας το homebrew, μπορείτε να εγκαταστήσετε το Kubetail με μία μόνο εντολή. Μπορείτε να προσθέσετε προεπιλεγμένες τιμές σε μεταβλητές περιβάλλοντος που μπορεί να διαβάσει η Kubetail όπως KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS κ.λπ.

Powerful Seal

Powerful Seal είναι ένα ανοιχτού κώδικα, ισχυρό εργαλείο μηχανικής χάους γραμμένο σε python για συμπλέγματα Kubernetes.

Η μηχανική χάους χρησιμοποιείται για να εξασφαλίσει την εμπιστοσύνη του συστήματος για να ελέγξει την ικανότητά του να αντιμετωπίζει προβληματικές καταστάσεις στην παραγωγή. Διοχετεύει αδυναμία στο σύμπλεγμα Kubernetes να εντοπίσει προβλήματα σε αυτό όσο το δυνατόν νωρίτερα.

Είναι εμπνευσμένο από το Netflix Chaos Monkey και χρησιμοποιείται για τη βελτίωση της ανθεκτικότητας του Kubernetes. Χρησιμοποιώντας το PowerfulSeal, οι μηχανικοί προσπαθούν εν γνώσει τους να σπάσουν πράγματα στο σύμπλεγμα για να ελέγξουν πώς αντιδρά το σύστημα.

Το PowerfulSeal λειτουργεί σε τρεις λειτουργίες – Αυτόνομη, Διαδραστική, Ετικέτα.

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

Ποπάι

Ποπάι είναι ένα βοηθητικό πρόγραμμα καθαρισμού που λειτουργεί ως απολυμαντικό 🧼 για τα συμπλέγματα Kubernetes.

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

Αυτό το βοηθητικό πρόγραμμα είναι διαθέσιμο για Windows, Linux και macOS. Προς το παρόν, λειτουργεί μόνο με κόμβους, pods, χώρους ονομάτων, υπηρεσίες. Χρησιμοποιώντας το Popeye, μπορείτε εύκολα να εντοπίσετε νεκρούς και αχρησιμοποίητους πόρους, αναντιστοιχίες θυρών, κανόνες RBAC, χρήση μετρήσεων και πολλά άλλα.

συμπέρασμα

Τα εργαλεία DevOps διαδραματίζουν ζωτικό ρόλο στην επιτυχία και ελπίζω ότι τα παραπάνω θα σας βοηθήσουν να διαχειριστείτε καλύτερα το Kubernetes.