diff --git a/DockerSwarm/exercise.adoc b/DockerSwarm/exercise.adoc new file mode 100644 index 0000000..07fffc4 --- /dev/null +++ b/DockerSwarm/exercise.adoc @@ -0,0 +1,168 @@ += Υπολογιστική Νέφους και Υπηρεσίες +Apostolos rootApostolos@swarmlab.io +: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:https://git.swarmlab.io:3000/swarmlab/examples-mpi2/media/branch/master/images/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 +* Katex +** 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://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://github.com/gritt/docker-mysql-replication +** https://hub.docker.com/r/actency/docker-mysql-replication + +== asciidoc + online editor +* asciidoc + online editor +** https://github.com/bodiam/awesome-asciidoc +** https://github.com/asciidoctor/docker-asciidoctor + +== collaborative LaTeX editor +* collaborative LaTeX editor +** https://github.com/overleaf/overleaf + +== Realtime database backend +* Realtime database backend +** https://github.com/share/sharedb + +== collaborative editor (like google docs) +* collaborative editor +** https://github.com/hectorj2f/codemirror-dockerhttps://github.com/jitsi/docker-jitsi-meet +** https://codemirror.net/ +** https://codemirror.net/mode/dockerfile/ + +== hadoop +* 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://github.com/jitsi/docker-jitsi-meet + +== collaboration solution +* collaboration solution +** https://mattermost.com/mattermost-vs-slack/ +** https://github.com/mattermost/mattermost-docker +** https://hub.docker.com/r/jasl8r/mattermost + +== 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://hub.docker.com/r/webratio/phonegap/ +** https://github.com/idotta/docker-phonegap +** https://github.com/oren/docker-cordova +** https://github.com/walterwhites/docker-cordova + + += 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]