Προγραμματισμός

Τρόπος χρήσης του Kubernetes Ingress API

Η Kubernetes βλέπει την υιοθέτηση σε ολόκληρο τον κλάδο της τεχνολογίας και βρίσκεται στο δρόμο για να γίνει η de-facto πλατφόρμα ενορχήστρωσης για τη σύγχρονη παροχή υπηρεσιών cloud. Το Kubernetes όχι μόνο παρέχει πρωταρχικά στοιχεία για την ανάπτυξη μικροϋπηρεσιών στο cloud, αλλά προχωρά ένα βήμα παραπέρα, βοηθώντας τους προγραμματιστές να ορίσουν αλληλεπιδράσεις και να διαχειριστούν τον κύκλο ζωής των API τους.

Το Ingress API στο Kubernetes σάς επιτρέπει να εκθέτετε τη μικροϋπηρεσία σας στον εξωτερικό κόσμο και να καθορίζετε πολιτικές δρομολόγησης για την κίνηση βορρά-νότου, δηλαδή την κίνηση που εισέρχεται στο εικονικό σας κέντρο δεδομένων.

Τα οφέλη από τη διαχείριση των κύκλων ζωής API χρησιμοποιώντας αγωγούς συνεχούς ολοκλήρωσης και συνεχούς παράδοσης (CI / CD) με το Ingress είναι άφθονα, αλλά πριν το καλύψουμε αυτό, ας ξεκινήσουμε με κάποιες βασικές γνώσεις.

Ο σχεδιασμός και ο σκοπός του πόρου Ingress

Η απλούστερη περιγραφή ενός συμπλέγματος Kubernetes θα ήταν ένα σύνολο διαχειριζόμενων κόμβων που εκτελούν εφαρμογές σε κοντέινερ. Στις περισσότερες περιπτώσεις, οι κόμβοι σε ένα σύμπλεγμα Kubernetes δεν εκτίθενται απευθείας στο δημόσιο Διαδίκτυο. Αυτό έχει νόημα, καθώς η έκθεση όλων των υπηρεσιών σε έναν κόμβο θα δημιουργούσε έναν απίστευτο κίνδυνο. Προκειμένου να παρέχει πρόσβαση στο κοινό σε επιλεγμένες υπηρεσίες, η Kubernetes παρέχει τον πόρο Ingress.

Ο πόρος Ingress εκθέτει διαδρομές HTTP και HTTPS από έξω από το σύμπλεγμα σε επιλεγμένες υπηρεσίες εντός. Ο πόρος Ingress παρέχει επίσης κανόνες για τον έλεγχο της κίνησης. Αυτό καθιστά τον πόρο Ingress μια εξαιρετική λύση για το χειρισμό των διαφόρων API που παρέχονται από μεγάλο αριθμό μεμονωμένων υπηρεσιών. Αυτό το επιτυγχάνει παρέχοντας ένα μόνο σημείο εισόδου για όλους τους πελάτες και, στη συνέχεια, διεκπεραιώνοντας αιτήματα στις υπηρεσίες back-end. Αυτό είναι συνήθως γνωστό ως διαμόρφωση fanout.

Κονγκ

Ο πόρος Ingress μπορεί επίσης να ρυθμιστεί για εικονική φιλοξενία βάσει ονόματος, όπου θα δρομολογεί αιτήματα βάσει της κεφαλίδας κεντρικού υπολογιστή:

Κονγκ

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

Τα οφέλη από τη χρήση του Ingress για τη διαχείριση του κύκλου ζωής API χρησιμοποιώντας αγωγούς CI / CD

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

Πώς μπορούν οι προγραμματιστές να ολοκληρώσουν το Ingress χρησιμοποιώντας το Kong for Kubernetes

Ένας δημοφιλής ελεγκτής Ingress ανοιχτού κώδικα και cloud-agnostic είναι το Kong for Kubernetes. Το Kong for Kubernetes Ingress Controller έχει δημιουργηθεί ως προσαρμοσμένοι ορισμοί πόρων (CRD) εντός του Kubernetes. Αυτό δημιουργεί μια εμπειρία εγγενών Kubernetes για όσους έχουν ήδη συνηθίσει να ορίζουν πόρους σε αυτήν την πλατφόρμα.

Όπως οι εφαρμογές και οι υπηρεσίες σας, το Kong for Kubernetes μπορεί να εγκατασταθεί μέσω Manifest, Helm ή Kustomize.

Ο ελεγκτής Kong for Kubernetes Ingress επεκτείνει τις δυνατότητες του πόρου Ingress παρέχοντας ένα εκτεταμένο σύνολο προσθηκών που καλύπτει ένα ευρύ φάσμα δυνατοτήτων, όπως έλεγχο ταυτότητας, αναλυτικά στοιχεία, παρακολούθηση και μετασχηματισμούς αιτημάτων και απόκρισης, για να αναφέρουμε μερικές μόνο. Παρέχοντας αυτές τις κοινές (και μερικές φορές όχι τόσο συνηθισμένες) απαιτήσεις στον ελεγκτή Ingress, το Kong for Kubernetes επιτρέπει στους προγραμματιστές να επικεντρώνονται περισσότερο στις βασικές απαιτήσεις των υπηρεσιών. Η αξία αυτού γίνεται ιδιαίτερα εμφανής όταν ένας οργανισμός μετακινείται από μια χούφτα μονολιθικών εφαρμογών σε εκατοντάδες, αν όχι χιλιάδες, μικροϋπηρεσίες.

Για μια λίστα κοινών προσθηκών, ανατρέξτε στη διεύθυνση //docs.konghq.com/hub/.

Οι προσθήκες Kong ορίζονται ως πόρος Kubernetes, όπου μια ενότητα διαμόρφωσης προβλέπει τις ρυθμίσεις της μεμονωμένης προσθήκης.

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

Κονγκ

Η προσθήκη μιας προσθήκης Kong σε έναν πόρο Kubernetes γίνεται μέσω ενός απλού σχολιασμού στην ενότητα μεταδεδομένων του πόρου. Αυτό επιτρέπει την εφαρμογή των προσθηκών σε διαφορετικά επίπεδα. Για παράδειγμα, θα μπορούσατε να εφαρμόσετε μια προσθήκη σε ολόκληρο τον πόρο Ingress ή να εφαρμόσετε έναν με πιο λεπτομερή τρόπο σε έναν μεμονωμένο πόρο υπηρεσίας.

Ακολουθεί ένα παράδειγμα της παραπάνω προσθήκης που εφαρμόζεται σε έναν πόρο Ingress:

Κονγκ

Το Kong for Kubernetes μπορεί επίσης να ενσωματωθεί στην πλήρη σουίτα προϊόντων Kong Enterprise συμπεριλαμβανομένων των Kong Studio, Kong Dev Portal, Kong Manager, Kong Brain και Kong Immunity. Αυτό επιτρέπει ακόμη πιο προηγμένες προσθήκες Kong, καθώς και μια πλήρη λύση κύκλου ζωής API. Αυτή η σουίτα προϊόντων καλύπτει τη συγγραφή και δημοσίευση προδιαγραφών API, καθώς και τη διαχείριση των πόρων σας στο Kong και ακόμη και την ανάλυση της κυκλοφορίας.

Μπορείτε να ακολουθήσετε μια προσέγγιση "spec-first" για την ανάπτυξη των API σας χρησιμοποιώντας το Kong Studio, όπου θα βρείτε εργαλεία για τη σύνταξη τεκμηρίωσης στην τυπική προδιαγραφή OpenAPI μαζί με εργαλεία δοκιμών για άμεση ανατροφοδότηση. Το Kong Studio παρέχει επίσης εργαλεία για την εργασία με GraphQL. Το Kong Studio συγχρονίζεται απευθείας στο Git, το οποίο επιτρέπει στα αρχεία προδιαγραφών σας να ενσωματωθούν σε μια ροή εργασίας CI / CD που μπορεί να αυτοματοποιήσει τις ενημερώσεις στο Kong Dev Portal.

Το Kong Dev Portal φιλοξενεί την τεκμηρίωση API (που μπορεί να είναι ιδιωτική ή δημόσια). Είναι εξαιρετικά προσαρμόσιμο, επιτρέποντάς σας να το προσαρμόσετε στο στυλ και την επωνυμία του οργανισμού σας. Η ύπαρξη ενός καλά τεκμηριωμένου API είναι σημαντική για την παραγωγικότητα και η καλή διαχείριση της ροής μεταξύ του Kong Studio και του Dev Portal μπορεί να σας βοηθήσει να διασφαλίσετε ότι η τεκμηρίωση είναι όσο το δυνατόν πιο ενημερωμένη.

Το Kong Manager παρέχει μια γραφική διεπαφή για την παρατήρηση και τη διαχείριση της σουίτας προϊόντων Kong ως σύνολο. Από εδώ, μπορείτε να παρατηρήσετε τις σχέσεις μεταξύ των δρομολογίων, των υπηρεσιών και των προσθηκών σας. Μπορείτε να παρακολουθείτε σε πραγματικό χρόνο την κίνηση και να παρακολουθείτε τους καταναλωτές σας.

Το Kong Brain αναλύει την κυκλοφορία που διέρχεται από το Ingress και δημιουργεί έναν οπτικό χάρτη υπηρεσιών μεταξύ των υπηρεσιών. Έχει επίσης τη δυνατότητα αυτόματης δημιουργίας εγγράφων προδιαγραφών OpenAPI με βάση τους χάρτες που δημιουργεί. Αυτό είναι ένα πολύτιμο χαρακτηριστικό, καθώς ακόμη και με τις καλύτερες προθέσεις, οι υπηρεσίες που αναπτύσσονται ενδέχεται να μην τεκμηριώνονται σωστά.

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

Κονγκ

Αξιοποιώντας στο έπακρο το Ingress

Ο πόρος Kubernetes Ingress παρέχει ένα μόνο σημείο εισόδου από έξω από το Kubernetes σε υπηρεσίες back-end εντός. Χρησιμοποιώντας αρχεία δηλωτικού ορισμού, ο πόρος Ingress μπορεί να αντιμετωπιστεί όπως όλες οι άλλες μορφές κώδικα και να ενσωματωθεί σε κοινούς κύκλους ανάπτυξης λογισμικού.

Προκειμένου να γεφυρωθεί η επικοινωνία εκτός του Kubernetes, απαιτείται ένας ελεγκτής Ingress. Το Kong for Kubernetes είναι ένας ελεγκτής Ingress που χρησιμοποιεί προσαρμοσμένους ορισμούς πόρων για να επεκτείνει σε μεγάλο βαθμό τις δυνατότητες του πόρου Ingress παρέχοντας μεγάλο αριθμό προσθηκών, επιτρέποντας στους προγραμματιστές να επικεντρωθούν στην βασική επιχειρηματική αξία. Το Kong διαθέτει μια σειρά εργαλείων επιχειρήσεων που μπορούν να βελτιώσουν σημαντικά την παραγωγικότητα και την ασφάλεια σε ολόκληρο τον κύκλο ζωής API

Ο Marco Palladino, εφευρέτης, προγραμματιστής λογισμικού και επιχειρηματίας Διαδικτύου με έδρα το Σαν Φρανσίσκο, είναι ο CTO και συνιδρυτής της Kong Inc.

Το New Tech Forum παρέχει έναν χώρο για να εξερευνήσετε και να συζητήσετε την αναδυόμενη τεχνολογία σε πρωτοφανές βάθος και εύρος. Η επιλογή είναι υποκειμενική, με βάση την επιλογή των τεχνολογιών που πιστεύουμε ότι είναι σημαντικές και έχουν μεγάλο ενδιαφέρον για τους αναγνώστες. δεν αποδέχεται ασφάλεια μάρκετινγκ για δημοσίευση και διατηρεί το δικαίωμα να επεξεργαστεί όλο το περιεχόμενο. Στείλτε όλες τις ερωτήσεις στο [email protected].

$config[zx-auto] not found$config[zx-overlay] not found