Οι Kubernetes (συνήθως αναφέρονται και ως “K8s” για συντομία) είναι ένα ανοιχτού κώδικα σύστημα διαχείρισης ελεγχόμενων δομών που χρησιμοποιούνται για την αυτοματοποίηση, την αντιμετώπιση σφαλμάτων και τη διακλιμάκωση εφαρμογών σε περιβάλλοντα που βασίζονται σε εκτελεστές.
Τα Kubernetes αναπτύχθηκαν αρχικά από τη Google και στη συνέχεια διατέθηκαν ως ανοιχτό κώδικα έργο στο πλαίσιο του Cloud Native Computing Foundation (CNCF). Είναι ένα από τα πιο δημοφιλή εργαλεία για τον αυτοματισμό και τη διαχείριση περιεχομένων σε μεγάλες υποδομές συνέχειας παράδοσης (CI/CD) και σε περιβάλλοντα υπολογιστικού νέφους.
Οι βασικές λειτουργίες των Kubernetes περιλαμβάνουν:
Για να υποβάλετε batch jobs χρησιμοποιώντας το kubectl στο Kubernetes, μπορείτε να χρησιμοποιήσετε τον πόρο “Job”. Ένα Job είναι μια εργασία που εκτελείται μια φορά και ολοκληρώνεται, ενώ έχει δυνατότητα διαχείρισης της εκτέλεσης αυτής της εργασίας. Εδώ είναι ένα βήμα-προς-βήμα παράδειγμα για το πώς να δημιουργήσετε και να υποβάλετε ένα Job χρησιμοποιώντας το kubectl:
Για να μπορέσουμε να τρέξουμε από την κονσόλα τον κώδικα του παραδείγματος θα πρέπει πρώτα να ενεργοποιήσουμε τους κυβερνήτες με την ακόλουθη εντολή
module load kubernetes
Πρώτα, δημιουργήστε ένα αρχείο YAML που θα περιγράφει το Job που θέλετε να δημιουργήσετε. Εδώ είναι ένα απλό παράδειγμα:
Στο αρχείο αυτό, αντικαταστήστε το “your-image-name:tag” με την εικόνα Docker που θέλετε να χρησιμοποιήσετε για το Job σας. Μπορείτε επίσης να προσαρμόσετε άλλες παραμέτρους όπως το όνομα του Job και το όριο επαναλήψεων (backoffLimit) ανάλογα με τις ανάγκες σας.
Αφού δημιουργήσετε το αρχείο YAML, μπορείτε να εφαρμόσετε το Job στο Kubernetes Cluster χρησιμοποιώντας την εντολή
kubectl apply -f your-job.yaml
Για να παρακολουθήσετε την εκτέλεση του Job και να δείτε την κατάσταση του, μπορείτε να χρησιμοποιήσετε την εντολή
kubectl get jobs
Μπορείτε επίσης να χρησιμοποιήσετε την εντολή
kubectl describe job your-job-name
για περισσότερες πληροφορίες.
Αν θέλετε να διαγράψετε το Job μετά την ολοκλήρωση του, μπορείτε να χρησιμοποιήσετε την εντολή
kubectl delete job your-job-name.
Παρακάτω ακολουθεί ένα απλό παράδειγμα υπολογισμού του π με τη δημιουργία του αντίστοιχου pi-job.yml:
Αρχείο pi-job.yml
Το παραπάνω script υπολογίζει με εντολή Perl τον αριθμό π με 4000 δεκαδικά ψηφία. Η εκτέλεση της εντολής γίνεται με την ακόλουθη εντολή στο command line:
kubectl apply -f pi-job.yml
Το τελικό αποτέλεσμα του π μπορεί να βρεθεί με την παρακάτω εντολή
kubectl logs -f pi
Όπου θα μπορέσουμε να δούμε τον αρθιμό π με 4000 δεκαδικά ψηφία 3.141592653589793238462643383279502884197169399375105820974…
Για περισσότερες λεπτομερείς μπορείτε να ανατρέξετε στο εγχειρίδιο χρήσης του συστήματος Bright Cluster Manager v9.2. στον παρακάτω σύνδεσμο: https://support.brightcomputing.com/manuals/9.2/user-manual.pdf