xrazis
5 years ago
2 changed files with 128 additions and 0 deletions
@ -0,0 +1,76 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html> |
||||
|
|
||||
|
<head> |
||||
|
<meta charset="utf-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
<title>Welcome file</title> |
||||
|
<link rel="stylesheet" href="https://stackedit.io/style.css" /> |
||||
|
</head> |
||||
|
|
||||
|
<body class="stackedit"> |
||||
|
<div class="stackedit__html"><h1 id="node.js-vlab">Node.js Vlab!</h1> |
||||
|
<p>Αναλάβαμε σαν ομάδα το ανωτέρο project (Node.js) στο εργαστηριακό μάθημα <a href="https://eclass.uniwa.gr/courses/ICE326/"><strong>Υπολογιστική Νέφους και Υπηρεσίες</strong></a> και το υλοποιήσαμε σύμφωνα με τις προϋποθέσεις που έχουν τεθεί για το vlab.<br> |
||||
|
Πιό συγκεκριμένα :</p> |
||||
|
<ul> |
||||
|
<li>δικό του δίκτυο</li> |
||||
|
<li>web περιβάλλον για προβολή των αποτελεσμάτων και δυνατότητα download <a href="https://83.212.77.30:9443/minio/login">Minio Browser</a></li> |
||||
|
<li>χώρο αποθήκευσης</li> |
||||
|
<li>Αυτόματη διαδικασία εκτέλεσης των υπηρεσιών μέσω <em>make</em></li> |
||||
|
<li>μία υπηρεσία ανά container</li> |
||||
|
<li>replicated mode</li> |
||||
|
<li>Containers/Replica θα “τρέχουν” μόνο σε workers</li> |
||||
|
<li>resource config για Out Of Memory Exceptions</li> |
||||
|
</ul> |
||||
|
<blockquote> |
||||
|
<p>Αναφορικά με τα παραπάνω,<br> |
||||
|
η <strong>λειτουργία</strong> της υπηρεσίας είναι μέσα απο ενα Web περιβάλλον ο χρήστης να ανεβάζει το node.js κώδικα του, να αποθηκεύεται σε ένα χώρο αποθήκευσης, να γίνεται download τοπικά,</p> |
||||
|
</blockquote> |
||||
|
<h2 id="swarm">Swarm</h2> |
||||
|
<p><strong>Στη συνέχεια δημηουργούμε :</strong></p> |
||||
|
<blockquote> |
||||
|
<ul> |
||||
|
<li>1 <a href="https://83.212.77.30:9443/minio/login">manager</a></li> |
||||
|
<li>3 workers</li> |
||||
|
</ul> |
||||
|
<blockquote> |
||||
|
<ul> |
||||
|
<li><a href="https://83.212.77.59:9443/minio/login">w1</a></li> |
||||
|
<li><a href="https://83.212.77.50:9443/minio/login">w1</a></li> |
||||
|
<li><a href="https://83.212.77.113:9443/minio/login">w1</a></li> |
||||
|
</ul> |
||||
|
</blockquote> |
||||
|
</blockquote> |
||||
|
<p>Δημιουργούνται επίσης οι υπηρεσίες</p> |
||||
|
<blockquote> |
||||
|
<ol> |
||||
|
<li>minio_stack</li> |
||||
|
<li>node_stack</li> |
||||
|
</ol> |
||||
|
</blockquote> |
||||
|
<p>Μέσα απο τον manager και τους workers, <strong>στη πόρτα 9443</strong>, μπορούμε να έχουμε πρόσβαση στο Minio Browser και να ακολουθήσει η παραπάνω λειτουργία.</p> |
||||
|
<p>Αφου γίνει αποθήκευση του project μέσα απο τους workers και <strong>μόνο</strong> και στην πόρτα <strong>3000</strong> ανεβαίνει η υπηρεσία που έχει γίνει deploy, και βλέπουμε το αποτέλεσμα στον browser. Αυτό σημβαίνει κάθε προκαθορισμένο χρονικό διάστημα οριζόμενο απο εμάς.</p> |
||||
|
<blockquote> |
||||
|
<h2 id="πιο-αναλυτικά.....-"><span class="katex--display"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi mathvariant="normal">Π</mi><mi>ι</mi><mi>ο</mi></mrow><annotation encoding="application/x-tex">Πιο</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height: 0.68333em; vertical-align: 0em;"></span><span class="mord">Π</span><span class="mord mathdefault">ι</span><span class="mord mathdefault">ο</span></span></span></span></span></span> <span class="katex--display"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mi>ν</mi><mi>α</mi><mi>λ</mi><mi>υ</mi><mi>τ</mi><mi>ι</mi><mi>κ</mi><mover accent="true"><mi>α</mi><mo>ˊ</mo></mover><mi mathvariant="normal">.</mi><mi mathvariant="normal">.</mi><mi mathvariant="normal">.</mi><mi mathvariant="normal">.</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">αναλυτικά..... </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height: 0.69444em; vertical-align: 0em;"></span><span class="mord mathdefault" style="margin-right: 0.0037em;">α</span><span class="mord mathdefault" style="margin-right: 0.06366em;">ν</span><span class="mord mathdefault" style="margin-right: 0.0037em;">α</span><span class="mord mathdefault">λ</span><span class="mord mathdefault" style="margin-right: 0.03588em;">υ</span><span class="mord mathdefault" style="margin-right: 0.1132em;">τ</span><span class="mord mathdefault">ι</span><span class="mord mathdefault">κ</span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.69444em;"><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord mathdefault" style="margin-right: 0.0037em;">α</span></span><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="accent-body" style="left: -0.22222em;">ˊ</span></span></span></span></span></span><span class="mord">.</span><span class="mord">.</span><span class="mord">.</span><span class="mord">.</span><span class="mord">.</span></span></span></span></span></span></h2> |
||||
|
</blockquote> |
||||
|
<h2 id="miniobucket">Minio/Bucket</h2> |
||||
|
<p>To Bucket είναι ένας χώρος αποθήκευσης που δημιουργούμε στο Minio ,όπου ο κάθε χρήστης μπορεί να ανεβάσει εκεί τα αρχεία του.</p> |
||||
|
<ul> |
||||
|
<li><strong>Αρχικά</strong> δημιουργούνται 4 υπηρεσίες Minio ( Minio1-Minio2-Minio3-Minio4) , μια για τον κάθε ένα node απο το swarm.</li> |
||||
|
<li>Η σύνδεση στην υπηρεσία γίνεται με χρήση <strong>key</strong> και <strong>secret</strong></li> |
||||
|
<li>Μέσα απο το καθορισμένο bucket στη συνέχεια αποθηκεύουμε τα αρχεία μεσω της δωθήσας υπηρεσίας <strong>aws s3</strong> στο localdir του μηχανήματος μας.</li> |
||||
|
<li>Έπειτα δημιουργούνται τα <strong>replicas</strong> |
||||
|
<blockquote> |
||||
|
<p><strong>Τέσσερα</strong> αρχικα, ( ένα για κάθε node {1,2,3,4})<br> |
||||
|
<strong>Δύο</strong> ακόμη για webUI που τρέχει η υπηρεσία για το γραφικό περιβάλλον του Minio</p> |
||||
|
</blockquote> |
||||
|
</li> |
||||
|
<li>Τέλος δημιουργείται η εφαρμογή που είναι ουσιαστικά μια υπηρεσία στο Minio με <strong>9 replicas</strong>.</li> |
||||
|
</ul> |
||||
|
<h2 id="cron">CRON</h2> |
||||
|
<p>Tέλος, εκτελείτε η υπηρεσία <strong>Cron</strong>, όπου ανα προκαθορισμένο χρόνο μέσω του αρχείου <strong>Makefile</strong> “τραβάμε” τα περιεχόμενα από το bucket που έχουμε δημιουργήσει και τα αποθηκεύουμε στο localdir. Τα κάνουμε <em><strong>build</strong></em> και στη συνέχεια <em><strong>deploy</strong></em> στο stack όπου εκτελείτε η υπηρεσία στους workers και τα αποτελέσματα εμφανίζονται με τη διεύθυνση του κάθε worker στη πόρτα <a href="http://83.212.77.59:3000/"><strong>:3000</strong></a>.</p> |
||||
|
<pre><code></code></pre> |
||||
|
</div> |
||||
|
</body> |
||||
|
|
||||
|
</html> |
@ -0,0 +1,52 @@ |
|||||
|
# Node.js Vlab! |
||||
|
|
||||
|
Αναλάβαμε σαν ομάδα το ανωτέρο project (Node.js) στο εργαστηριακό μάθημα [**Υπολογιστική Νέφους και Υπηρεσίες**](https://eclass.uniwa.gr/courses/ICE326/) και το υλοποιήσαμε σύμφωνα με τις προϋποθέσεις που έχουν τεθεί για το vlab. |
||||
|
Πιό συγκεκριμένα : |
||||
|
|
||||
|
- δικό του δίκτυο |
||||
|
- web περιβάλλον για προβολή των αποτελεσμάτων και δυνατότητα download [Minio Browser](https://83.212.77.30:9443/minio/login) |
||||
|
- χώρο αποθήκευσης |
||||
|
- Αυτόματη διαδικασία εκτέλεσης των υπηρεσιών μέσω *make* |
||||
|
- μία υπηρεσία ανά container |
||||
|
- replicated mode |
||||
|
- Containers/Replica θα "τρέχουν" μόνο σε workers |
||||
|
- resource config για Out Of Memory Exceptions |
||||
|
|
||||
|
>Αναφορικά με τα παραπάνω, |
||||
|
>η **λειτουργία** της υπηρεσίας είναι μέσα απο ενα Web περιβάλλον ο χρήστης να ανεβάζει το node.js κώδικα του, να αποθηκεύεται σε ένα χώρο αποθήκευσης, να γίνεται download τοπικά, |
||||
|
|
||||
|
## Swarm |
||||
|
**Στη συνέχεια δημηουργούμε :** |
||||
|
>- 1 [manager](https://83.212.77.30:9443/minio/login) |
||||
|
>- 3 workers |
||||
|
>> - [w1](https://83.212.77.59:9443/minio/login) |
||||
|
>> - [w1](https://83.212.77.50:9443/minio/login) |
||||
|
>> - [w1](https://83.212.77.113:9443/minio/login) |
||||
|
|
||||
|
Δημιουργούνται επίσης οι υπηρεσίες |
||||
|
> 1. minio_stack |
||||
|
> 2. node_stack |
||||
|
|
||||
|
Μέσα απο τον manager και τους workers, **στη πόρτα 9443**, μπορούμε να έχουμε πρόσβαση στο Minio Browser και να ακολουθήσει η παραπάνω λειτουργία. |
||||
|
|
||||
|
Αφου γίνει αποθήκευση του project μέσα απο τους workers και **μόνο** και στην πόρτα **3000** ανεβαίνει η υπηρεσία που έχει γίνει deploy, και βλέπουμε το αποτέλεσμα στον browser. Αυτό σημβαίνει κάθε προκαθορισμένο χρονικό διάστημα οριζόμενο απο εμάς. |
||||
|
|
||||
|
> ## $$Πιο$$ $$αναλυτικά..... $$ |
||||
|
|
||||
|
## Minio/Bucket |
||||
|
|
||||
|
To Bucket είναι ένας χώρος αποθήκευσης που δημιουργούμε στο Minio ,όπου ο κάθε χρήστης μπορεί να ανεβάσει εκεί τα αρχεία του. |
||||
|
- **Αρχικά** δημιουργούνται 4 υπηρεσίες Minio ( Minio1-Minio2-Minio3-Minio4) , μια για τον κάθε ένα node απο το swarm. |
||||
|
- Η σύνδεση στην υπηρεσία γίνεται με χρήση **key** και **secret** |
||||
|
- Μέσα απο το καθορισμένο bucket στη συνέχεια αποθηκεύουμε τα αρχεία μεσω της δωθήσας υπηρεσίας **aws s3** στο localdir του μηχανήματος μας. |
||||
|
- Έπειτα δημιουργούνται τα **replicas** |
||||
|
> **Τέσσερα** αρχικα, ( ένα για κάθε node {1,2,3,4}) |
||||
|
> **Δύο** ακόμη για webUI που τρέχει η υπηρεσία για το γραφικό περιβάλλον του Minio |
||||
|
- Τέλος δημιουργείται η εφαρμογή που είναι ουσιαστικά μια υπηρεσία στο Minio με **9 replicas**. |
||||
|
|
||||
|
## CRON |
||||
|
|
||||
|
Tέλος, εκτελείτε η υπηρεσία **Cron**, όπου ανα προκαθορισμένο χρόνο μέσω του αρχείου **Makefile** "τραβάμε" τα περιεχόμενα από το bucket που έχουμε δημιουργήσει και τα αποθηκεύουμε στο localdir. Τα κάνουμε ***build*** και στη συνέχεια ***deploy*** στο stack όπου εκτελείτε η υπηρεσία στους workers και τα αποτελέσματα εμφανίζονται με τη διεύθυνση του κάθε worker στη πόρτα [**:3000**](http://83.212.77.59:3000/). |
||||
|
|
||||
|
|
||||
|
``` |
Loading…
Reference in new issue