====== Ressources nécessaires au maquettage ====== ===== Objectif ===== Cette documentation à pour but de recenser les ressources requises pour maquetter la solution docker ainsi que ownCloud. ===== VM dans la ferme de serveurs ===== Dans un premier temps 2 machines virtuelle, sur lesquelles docker sera installer et configuré. Puis on installera ownCloud de deux manière différentes : * Version “full” : image docker avec tout les composants dans le même conteneur. * Version “brick” : décomposer chaque couche dans un container (php-fpm, apache, postgreSQL et l’application) Une fois les installations et configurations fonctionnel, nous réaliserons un benchmarks pour tester les performances des deux solutions et déterminer laquelle est la plus efficace. Une fois ces testes réalisés, nous verrons pour placer la structure dans un cluster à l’aide de la solution Docker Swarm. Concernant les ressources, nous demanderons deux machines avec : * 1 vCPU * 1Go de RAM * 15Go d'espace OS * 10Go d'espace DATA * 2 interfaces réseau slesdockerdev1 * eth0 : 192.168.113.110 * eth1 : 192.168.113.111 slesdockerdev2 * eth0 : 192.168.113.112 * eth1 : 192.168.113.113 ===== Docker ===== ==== Pré-requis ==== Une architecture 64 bits ainsi qu’une version du noyau Linux supérieur à la version 3.10 \\ Distribution supportées : * Ubuntu * Red Hat Enterprise Linux * CentOS * Fedora * Debian * Arch Linux * CRUX Linux * FrugalWare * Gentoo * Oracle Linux * openSUSE and SUSE Linux Enterprise ==== Solution retenu ==== Étant donnée que la majeur partie des serveurs son des SUSE, nous allons installer docker sur cette distribution. Une fois configuré nous mettrons en place différents conteneurs dont le premier qui sera ownCloud (en version full et brick), puis des conteneurs de base de donnée pour peut être remplacer les serveurs Solaris qui contiennent toutes les bases. ===== OwnCloud ===== ==== Pré-requis ==== Dépend du nombre d’utilisateur/de fichier et de l’activité sur le serveur. Au minimum 128Mo de RAM et 512Mo sont recommander. Configuration recommandé : * Red Hat Enterprise Linux 7 * MySQL/MariaDB * PHP 5.4 + * Apache 2.4 Plate-forme supportées : * Serveur: Linux (Debian 7, SUSE Linux Enterprise Server 11 SP3 & 12, Red Hat Enterprise Linux/Centos 6.5 and 7 (7 is 64-bit only), Ubuntu 12.04 LTS, 14.04 LTS, 14.10) * Service web: Apache 2 * Base de données: MySQL/MariaDB 5.x; Oracle 11g; PostgreSQL * PHP 5.4+ ==== Solution retenu ==== L’installation se fera dans un conteneur Docker ===== Mise à jour ===== Après la mise en place de notre infrastructure, nous avons travaillé sur une évolution : la mise en cluster. Nous avons cependant rencontré une difficulté. En effet, nous avons externalisé les données de nos conteneurs et devons les placer dans un espace partagé entre nos hôtes. Nous avons étudié et tester de multiple solutions comme le partage de disque dur et la synchronisation avec Syncthing. Suite à ces essai, nous avons pensé à la mise en place d’une machine de stockage. Lors de notre discussion avec Éric, ce dernier nous à informer qu’il existe dans l’infrastructure du département des machines virtuelles qui servent de serveurs de data. Éric va donc nous faire un point de montage NFS sur l’une d’elle avec une capacité de 10 Go qu’il nous restera à configurer de notre côté. L’utilisation du protocole ne nécessite aucune installation particulière. Nous pouvons utiliser la commande de montage usuelle avec le paramètre de circonstance : mount -t nfs [IP DISTANTE]:/le/repertoire/distant /le/repertoire/local Pour effectuer l’opération automatiquement, nous ajoutons l’entrée suivante dans le fichier **/etc/fstab** : [IP DISTANTE]:/le/repertoire/distant /le/repertoire/local nfs rw 0 0