Skip to content
 
 

Latest commit

 

History

98 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Για το συγκεκριμένο project αναπτύξαμε μία cloud-native εφαρμογή που σερβίρει μουσική σε πελάτες μέσω μίας ιστοσελίδας γραμμένη σε PHP και HTML. Είναι πλήρως scalable με χρήση HPA (Horizontal Pod Autoscaling) και resilient σε πολλαπλά client requests την ίδια χρονική στιγμή. Οι χρήστες της εφαρμογής έχουν την δυνατότητα να φτιάξουν προφίλ ή να κάνουν login με τα credentials τους και να ακούσουν τραγούδια που είναι αποθηκευμένα σε pods και χρησιμοποιούν το rsync ώστε να έχουν σίγουρη διαθεσιμότητα (availability) για όλα τα τραγούδια. Τέλος, τα στοιχεία των πελατών όπως το username και το password, καθώς και οι πληροφορίες για τα τραγούδια όπως ο τίλος και το είδος αποθηκεύονται μέσω SQL ερωτημάτων και την PostGres και χρησιμοποιείται αντίστοιχο encryption για τα passwords των χρηστών μέσω της βιβλιοθήκης pgcrypto και της έννοιας salt.

Για να τρέξει κάποιος αυτή την εφαρμογή, αρχικά θα χρειαστεί ένα namespace σε ένα local cluster k8s. Εάν θέλουμε να είναι στον local cluster του πανεπιστημίου, θα πρέπει να έχει πρόσβαση μέσω vpn στο vd cloud. Έχοντας αποκτήσει το namespace του, μπορεί να τρέξει το make deploy ώστε να τρέξουν όλα τα αρχεία και να δημιουργηθούν: η βάση δεδομένων, το pvc, το website, ο data source node, και να ενεργοποιηθεί ο hpa. Είναι απαραίτητο να έχει κατεβασμένο τον φάκελο music στον υπολογιστή του, έτσι ώστε να δοθούν στον data source μέσω kubectl cp. Έπειτα, μπορεί να μπει στο k9s interface, και πηγαίνοντας στα services, χρησιμοποιώντας svc, να βρει την ip address του service, ώστε να συνδεθεί τοπικά σε αυτή.

Κάνουμε clone το repository locally.

git clone https://github.com/Panaghs01/cloud-uth.git

Εκτελούμε την εντολή.

make deploy

Και σε λίγα λεπτά η εφαρμογή θα είναι Up and Running.

Για να αποκτήσουμε πρόσβαση στην ιστοσελίδα μπαίνουμε στο k9s και γράφουμε :svc για να προβάλουμε τα services. Επιλέγουμε την IP του webserver service και την κάνουμε paste στον browser μας.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages