P24 Nuage pour sites Web

De Wiki de Projets IMA
Révision datée du 7 décembre 2015 à 14:42 par Tscholae (discussion | contributions) (Semaine 7 (26/10/2015))


Cahier des charges

Présentation générale du projet

Contexte

Objectif du projet

Installer une infrastructure infonuagique pour la création de sites Web école.

Description du projet

Le but est d'installer une infrastructure infonuagique sur des machines de la plate-forme informatique permettant la création aisé d'un site Web pour un usager de l'école.

Docker-logo.jpg

La couche de supervision peut être openstack installé avec un noeud contrôleur et un noeud réseau dans deux machines virtuelles.

La solution de virtualisation sera à base de conteneurs pour limiter la consommation mémoire et CPU. Vous pouvez commencer par étudier la solution Docker.

Une image de processus serveur Web avec une configuration standard (incluant PHP) doit être fournie.

L'architecture proposée ne doit consommer qu'une adresse IPv4 routée pour l'ensemble des sites Web et permettre des accès IPv4 et IPv6 et implanter HTTP comme HTTPS. La configuration du nom du site Web doit être très facile.


Avancement du Projet

Semaine 1 (14/09/2015)

  • Entretien avec M.Redon
  • Recherches sur la virtualisation, LXC, Docker et Openstack
  • Analyse de la portée du projet : 900 sites existant au total, moins de 200 qui sont actifs
  • Aucun matériel a acheter !

Semaine 2 (21/09/2015)

  • Premiers essais avec Docker
    • Création d'un processus isolé contenant linux
    • Test de sauvegarde et manipulation des images générées

Semaine 3 (28/09/2015)

  • Contact avec un intervenant extérieur : Alexandre chojnacki
  • Suite des tests avec Docker
  • Début des recherches sur le serveur Apache
  • Familiarisation avec les Dockerfiles

Semaine 4 (05/10/2015)

  • Suite des recherches et tests sur le serveur Apache
  • Architecture réseau des containers de docker
    • La première interface virtuelle "docker0" qui reçoit toutes les adresses en 172.17.0.0/16
    • Les paquets sont envoyés vers l'interface de l'adresse en question "veth7fe8a26"
    • Cette deuxième interface envoie les paquets vers l'interface "eth0" du container
  • Pause des recherches sur OpenStack
    • A confirmer avec A.Chojnacki, mais Docker peut suffire pour notre utilisation

Semaine 5 (12/10/2015)

  • Utilisation d'OpenStack qui semble ne pas être indispensable --> on met cet outil de côté
  • Recherches sur la para virtualisation et l'utilisation de l'hyperviseur xen.
  • Idée : lancer des dockers dans des machines virtuelles xen (à méditer)
  • DELL poweredge 2950 (specs)
    • Réparation d'un dissipateur (Images à venir)
    • Machine à priori opérationnel, attente de plus d'infos pour sa mise en route (où, comment...)

Semaine 6 (19/10/2015)

hardware > hypervisor > Docker host > container
  • Machine DELL opérationnelle mais en attente (anciennes données encore dessus)
  • Prise en main de xen

Semaine 7 (26/10/2015)

How a VM works
How docker works

Semaine 8 (02/11/2015)

  • Remise en question du modèle précédent : lourdeur inutiles. Juste Docker suffit.
  • Installation de Debian (Jessie) sur la machine Dell PowerEdge
  • Installation des services utiles (ssh, Docker)

Semaine 9 (09/11/2015)

Mise en place du serveur, opérationnel.

172.26.64.13

Création des 10 VM qui nous seront nécessaires

VM XEN
IP addr
jinx 172.26.79.230
thresh 172.26.79.231
fizz 172.26.79.232
nidalee 172.26.79.233
vayne 172.26.79.234
teemo 172.26.79.235
rengar 172.26.79.236
ezreal 172.26.79.237
ziggs 172.26.79.238
shaco 172.26.79.239

Semaine 10 (16/11/2015)

Comment fonctionne notre système ?

Notre serveur rift en 172.26.64.13 Sur ce serveur :

  • Une petite dizaine de machines virtuelles xen dans la fourchette 172.26.79.230 à 172.26.79.239
  • Bridge Summoner : interface eth0 du serveur avec les interfaces virtuelles (vif) de nos machines xen


Sur chacune des machines :

  • Les vif du serveur correspondent à chacune des eth0 des machines, qui sont configurées de cette façon :
address 172.26.79.230 
netmask 255.255.240.0 
gateway 172.26.79.254
  • On configure la VM pour qu'elle ait accès à internet et puisse apt-get
  • On active le ssh pour ne plus être obligé d'utiliser xl console
  • On installe docker-engine et docker.io
  • A l'installation de docker, une interface docker0 est crée avec comme IP 172.17.0.1
  • Lorsqu'on va créer un conteneur, une nouvelle interface sera créée de la forme veth54205179. Pour le premier conteneur créé, son adresse IP sera 172.17.0.2. On a donc un sous réseau 172.17.0.0/16 qui nous permet donc de potentiellement donner 65 000 IP à 65 000 conteneurs différents.

(de 172.17.0.2 à 172.17.255.254) --> 2¹⁶

Semaine 11 (23/11/2015)

Semaine 12 (30/11/2015)

On regarde combien de conteneurs au maximul peuvent être créés sur un Vm pour un mémoire donnée :

Memory Containers
256 Mo 30
512 Mo 180
2048 Mo 600

Sachant que notre serveur possède 4Go de mémoire, nous optons pour l'instant pour 7 VM d'une mémoire de 512 Mo chacune. Nous pourrons ainsi créer environ 150 conteneurs docker par VM.

Suite à l'entretien avec Mr. Redon du 1er décembre :

  • Maquette réseau (disponible en lien externe)
  • Mettre à plat : Bridger les interface des conteneurs (veth......) avec eth0 (fait)
  • Pour 10 VM : 1 associations, 3 enseignants, 6 étudiants séparés dans 3 VLAN différents (cf schéma)
  • Se renseigner sur le reverse DNS pour que les requêtes soient redirigées vers les bon conteneurs.

Semaine 13 (07/11/2015)

Objectif : Maquette du site (Wireframe) : Pencil Project

http://pencil.evolus.vn/

Semaine 14 (14/12/2015)

Semaine 15 (04/01/2016)

Semaine 16 (11/01/2016)

Semaine 17 (18/01/2016)

Semaine 18 (25/01/2016)

Semaine 19 (01/02/2016)

Semaine 20 (08/02/2016)

Semaine 21 (15/02/2016)

Semaine 22 (22/02/2016)

Fichiers Rendus

Liens externes

Schéma de la maquette réseau
Fichier source de cette maquette