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