You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
179 lines
8.6 KiB
179 lines
8.6 KiB
= Υπολογιστική Νέφους και Υπηρεσίες
|
|
:description: ΑΣΚΗΣΗ 2020
|
|
:keywords: Cloud, swarm
|
|
:data-uri:
|
|
:toc: right
|
|
:toc-title: Πίνακας περιεχομένων
|
|
:toclevels: 4
|
|
:source-highlighter: coderay
|
|
:icons: font
|
|
:sectnums:
|
|
|
|
|
|
.ΕΡΓΑΣΤΗΡΙΟ ΜΑΘΗΜΑΤΟΣ
|
|
[NOTE]
|
|
****
|
|
[.text-center]
|
|
*«Υπολογιστική Νέφους και Υπηρεσίες»*
|
|
|
|
[.text-center]
|
|
_ΑΣΚΗΣΗ 2020_
|
|
****
|
|
|
|
[.lead]
|
|
Η άσκηση περιλαμβάνει τη δημιουργία ενός εικονικού εργαστηρίου(vlab) σε περιβάλλον *docker swarm* που θα εκτελεί αυτόματα τις λειτουργίες που διαθέτει.
|
|
|
|
== Δημιουργία εικονικού εργαστηρίου
|
|
*Κάθε vlab θα διαθέτει:*
|
|
|
|
* [*] δικό του δίκτυο
|
|
* [*] web περιβάλλον για προβολή των αποτελεσμάτων και δυνατότητα download
|
|
* [ ] χώρο αποθήκευσης (προαιρετικά)
|
|
* [*] Αυτόματη διαδικασία εκτέλεσης των υπηρεσιών μέσω make (https://git.swarmlab.io:3000/swarmlab/examples-mpi/src/branch/master/swarmlab[Παράδειγμα])
|
|
|
|
=== Παράδειγμα
|
|
|
|
.Παράδειγμα Vlab και τρόπου εκτέλεσης της υπηρεσίας
|
|
image:swarmlab-network.png[alt="Vlab Network"]
|
|
|
|
Παράδειγμα για τη δημιουργία του δικτύου: http://docs.swarmlab.io/lab/DockerSwarm/swarm-deploy.adoc.html[Eργαστήριο Deploy]
|
|
|
|
|
|
|
|
== Παράδοση εργασίας
|
|
|
|
*Παράδοση εργασίας:*
|
|
|
|
* [*] Το κείμενο της εργασίας θα είναι σε μορφή *asciidoc*
|
|
* [*] Θα περιέχει *Dockerfile* για την δημιουργία των images
|
|
* [*] Θα περιέχει *Stack Yaml File* για Deploy της υπηρεσίας
|
|
* [*] Θα περιέχει *README* file με πληροφορίες σχετικά με το εικονικό εργαστήριο και τις υπηρεσίες/εργαλεία που χρησιμοποιήθηκαν
|
|
* [*] Θα περιέχει *INSTALL* file με πληροφορίες σχετικά με την εγκατάσταση του εικονικού εργαστηρίου
|
|
* [*] Θα περιέχει *DOC* file/dir με πληροφορίες σχετικά με την χρήση του εικονικού εργαστηρίου
|
|
* [*] Θα περιέχει *Demo* site για την εκτέλεση των διαθέσιμων υπηρεσιών
|
|
|
|
|
|
.Πληροφορία
|
|
[NOTE]
|
|
====
|
|
Το κείμενα θα είναι *όλα* σε μορφή asciidoc ή markdown (Παραδείγματα: http://docs.swarmlab.io/Howtos/asciidoc/install-asciidoc.adoc.html#cheat-useadoc[1], http://docs.swarmlab.io/Howtos/asciidoc/QuickStart.adoc.html#_copy_paste_asciidoc_source[2], http://docs.swarmlab.io/Howtos/asciidoc/AsciiDocSyntaxQuickReference.adoc.html[Reference])
|
|
====
|
|
|
|
|
|
.Git
|
|
[NOTE]
|
|
====
|
|
Ολα τα αρχεία θα πρέπει να "ανέβουν" σε υπηρεσία git
|
|
|
|
* https://git.swarmlab.io:3000 - Προτείνεται
|
|
* https://about.gitlab.com/ - Δεύτερη επιλογή
|
|
* https://github.com/
|
|
====
|
|
|
|
|
|
|
|
== Projects
|
|
|
|
*Projects για υλοποίηση:*
|
|
|
|
.Επιλογή
|
|
[NOTE]
|
|
====
|
|
Η επιλογή project ανα ομάδα πρέπει να πραγματοποιηθεί μέχρι *03.05*
|
|
====
|
|
|
|
=== Katex https://en.wikipedia.org/wiki/KaTeX[wikipedia]
|
|
* Katex - https://en.wikipedia.org/wiki/KaTeX, https://en.wikipedia.org/wiki/Mathematical_notation
|
|
** https://github.com/KaTeX/KaTeX
|
|
** https://katex.org/#demo
|
|
|
|
=== wordpress
|
|
* wordpress
|
|
** https://github.com/gabidavila/docker-wordpress-ssl-nginx-mysql
|
|
|
|
=== mongo replicated
|
|
* mongo replicated - https://en.wikipedia.org/wiki/MongoDB, https://github.com/mongodb/mongo/wiki/Replication-Internals , https://en.wikipedia.org/wiki/NoSQL
|
|
** https://www.xosofox.de/2017/06/running-mongodb-as-a-replicaset-in-docker/
|
|
** https://www.sohamkamani.com/blog/2016/06/30/docker-mongo-replica-set/#setting-up-replication
|
|
|
|
=== mysql replicated
|
|
* mysql replicated - https://en.wikipedia.org/wiki/Multi-master_replication
|
|
** https://github.com/gritt/docker-mysql-replication
|
|
** https://hub.docker.com/r/actency/docker-mysql-replication
|
|
|
|
=== asciidoc + online editor
|
|
* asciidoc + online editor - https://en.wikipedia.org/wiki/AsciiDoc, https://en.wikipedia.org/wiki/DocBook
|
|
** https://github.com/bodiam/awesome-asciidoc
|
|
** https://github.com/asciidoctor/docker-asciidoctor
|
|
|
|
=== collaborative LaTeX editor
|
|
* collaborative LaTeX editor - https://en.wikipedia.org/wiki/LaTeX
|
|
** https://github.com/overleaf/overleaf
|
|
|
|
=== Realtime database backend
|
|
* Realtime database backend - https://en.wikipedia.org/wiki/Operational_transformation
|
|
** https://github.com/share/sharedb
|
|
|
|
=== collaborative editor (like google docs)
|
|
* collaborative editor - https://en.wikipedia.org/wiki/CodeMirror
|
|
** https://github.com/hectorj2f/codemirror-dockerhttps://github.com/jitsi/docker-jitsi-meet
|
|
** https://codemirror.net/
|
|
** https://codemirror.net/mode/dockerfile/
|
|
|
|
=== hadoop
|
|
* hadoop - https://en.wikipedia.org/wiki/Apache_Hadoop
|
|
** https://github.com/big-data-europe/docker-hadoop
|
|
** https://hub.docker.com/r/sequenceiq/hadoop-docker/
|
|
** https://www.alibabacloud.com/blog/setup-a-single-node-hadoop-cluster-using-docker_595278
|
|
|
|
=== collaborative eclass meeting chat
|
|
* collaborative eclass meeting chat - https://en.wikipedia.org/wiki/Jitsi
|
|
** https://github.com/jitsi/docker-jitsi-meet
|
|
|
|
=== collaboration solution
|
|
* collaboration solution - https://en.wikipedia.org/wiki/Mattermost
|
|
** https://mattermost.com/mattermost-vs-slack/
|
|
** https://github.com/mattermost/mattermost-docker
|
|
** https://hub.docker.com/r/jasl8r/mattermost
|
|
|
|
=== R and Octave (statistical computing and graphics)
|
|
* R & Octave - https://en.wikipedia.org/wiki/R_(programming_language), https://en.wikipedia.org/wiki/GNU_Octave
|
|
** https://github.com/INWTlab/r-docker
|
|
** https://www.r-project.org/
|
|
** https://www.gnu.org/software/octave/
|
|
|
|
=== Ruby, php and Node.js
|
|
* Ruby, php and Node.js
|
|
** https://hub.docker.com/r/ethanw93/docker-ruby-php-node/
|
|
** https://github.com/dsferruzza/docker-php-node-ruby-build/blob/master/Dockerfile
|
|
|
|
=== java
|
|
* java
|
|
** https://github.com/docker-java/docker-java
|
|
|
|
=== phonegap cordova
|
|
* phonegap cordova - https://en.wikipedia.org/wiki/Apache_Cordova
|
|
** https://hub.docker.com/r/webratio/phonegap/
|
|
** https://github.com/idotta/docker-phonegap
|
|
** https://github.com/oren/docker-cordova
|
|
** https://github.com/walterwhites/docker-cordova
|
|
|
|
=== visualization software
|
|
* Graphviz + PlantUML - https://en.wikipedia.org/wiki/PlantUML, https://en.wikipedia.org/wiki/Unified_Modeling_Language, https://en.wikipedia.org/wiki/Graphviz
|
|
** https://github.com/plantuml/plantuml-server
|
|
** https://github.com/emfloyd2/docker-graphviz
|
|
** https://github.com/omerio/graphviz-server
|
|
|
|
|
|
== Q&A
|
|
[qanda]
|
|
Το project υλοποιείται σε ομάδες?::
|
|
Ναι. Είναι οι ομάδες που έχουμε ήδη δημιουργήσει
|
|
Εγώ δεν βρήκα ομάδα. Τι κάνω?::
|
|
Προσπάθησε να ενταχθείς σε μία ομάδα και ενημέρωσε μέσω εμαιλ για την ομάδα που θα συμμετέχεις. Σε περίπτωση που δεν είναι αυτό δυνατό τότε χρησιμοποίησε το *docker-compose* για να δημιουργήσεις το project που θα επιλέξεις σε ένα μηχάνημα.
|
|
Μπορώ να υλοποιήσω κάποιο άλλο project εκτός λίστας?::
|
|
Ναι. Αρκεί *να μην είναι "stand alone application".* To project πρέπει να υλοποιηθεί σύμφωνα με τις προδιαγραφές που περιγράφονται και για τα υπόλοιπα.
|
|
Δεν γνωρίζω asciidoc θα χρειαστεί χρόνο για να το μάθω?::
|
|
Οχι είναι απλό. Δεν θα χρειαστείς πάνω από 5 λεπτά και σε περίπτωση που θέλεις κάτι ακόμη πιο απλό γράψε σε markdown - online Editor: https://stackedit.io/app[markdown], https://asciidoclive.com/edit/scratch/1[asciidoc]
|
|
Δεν γνωρίζω git θα χρειαστεί χρόνο για να το μάθω?::
|
|
Οχι είναι απλό. Δεν θα χρειαστείς πάνω από 10 λεπτά - Βοήθεια: http://docs.swarmlab.io/SwarmLab-HowTos/HowTo-gitea.adoc.html[Gitea], https://classic.scottr.org/presentations/git-in-5-minutes/[Git In Five Minutes]
|
|
|