Projet

Général

Profil

Scribe+eole-ad+Seth-conteneur » Historique » Version 2

Joël Cuissinat, 13/02/2018 11:24

1 1 Joël Cuissinat
h1. Scribe+eole-ad+Seth-conteneur
2 1 Joël Cuissinat
3 1 Joël Cuissinat
On part d'un Scribe sur lequel on installe et on configure un module Seth dans un conteneur LXC puis on met en œuvre Eole-AD comme si on avait deux serveurs distincts.
4 2 Joël Cuissinat
5 2 Joël Cuissinat
_Pour la maquette, j'ai choisi d'utiliser un serveur aca.scribe-2.6.2-instance-AvecImport afin de minimiser les problèmes liés à l'environnement réseau._
6 2 Joël Cuissinat
7 2 Joël Cuissinat
8 2 Joël Cuissinat
h2. Mise en œuvre du module Seth dans un conteneur LXC
9 2 Joël Cuissinat
10 2 Joël Cuissinat
Pour mettre en place le conteneur, nous avons suivi le tutoriel réalisé par Daniel qui permettait d'installer un module Eclair dans un conteneur : https://dev-eole.ac-dijon.fr/issues/21060
11 2 Joël Cuissinat
12 2 Joël Cuissinat
Pour la génération du conteneur de base et les étapes suivants, nous avons juste remplacé le nom "eclair" par "seth".
13 2 Joël Cuissinat
Dans notre cas, comme le mode conteneur d'EOLE n'est pas utilisé sur le maître, il manque des outils et des mécanismes pour que lxc fonctionne directement.
14 2 Joël Cuissinat
15 2 Joël Cuissinat
<pre>
16 2 Joël Cuissinat
apt install lxc1 lxc-templates debootstrap cgroup-lite 
17 2 Joël Cuissinat
lxc-create -n seth -t ubuntu -- -r xenial -u ubuntu -S ~root/.ssh/id_rsa.pub --packages 'wget' --mirror http://eole.ac-dijon.fr/ubuntu
18 2 Joël Cuissinat
</pre>
19 2 Joël Cuissinat
20 2 Joël Cuissinat
Pour configurer le conteneur, nous nous sommes également inspirés de la configuration proposée pour Eclair en ignorant la problématique du montage NFS.
21 2 Joël Cuissinat
22 2 Joël Cuissinat
Nous nous sommes adaptés au paramétrage proposé par défaut :
23 2 Joël Cuissinat
* conteneur dans @/var/lib/lxc/@
24 2 Joël Cuissinat
* réseau des conteneurs en 10.0.3.0/24
25 2 Joël Cuissinat
26 2 Joël Cuissinat
<pre>
27 2 Joël Cuissinat
root@scribe:~# cat /var/lib/lxc/seth/config 
28 2 Joël Cuissinat
# Template used to create this container: /usr/share/lxc/templates/lxc-ubuntu
29 2 Joël Cuissinat
30 2 Joël Cuissinat
# Common configuration
31 2 Joël Cuissinat
lxc.include = /usr/share/lxc/config/ubuntu.common.conf
32 2 Joël Cuissinat
33 2 Joël Cuissinat
# Container specific configuration
34 2 Joël Cuissinat
lxc.utsname = seth
35 2 Joël Cuissinat
lxc.arch = amd64
36 2 Joël Cuissinat
lxc.rootfs.backend = dir
37 2 Joël Cuissinat
lxc.rootfs = /var/lib/lxc/seth/rootfs
38 2 Joël Cuissinat
39 2 Joël Cuissinat
# EOLE look for /dev/lxc to detect container mode and behave differently
40 2 Joël Cuissinat
lxc.devttydir = LXC
41 2 Joël Cuissinat
42 2 Joël Cuissinat
# Automatic start at bootup
43 2 Joël Cuissinat
lxc.start.auto = 1
44 2 Joël Cuissinat
45 2 Joël Cuissinat
# Network configuration
46 2 Joël Cuissinat
# eth0 on eth0
47 2 Joël Cuissinat
lxc.network.type = macvlan
48 2 Joël Cuissinat
lxc.network.link = ens4
49 2 Joël Cuissinat
lxc.network.flags = up
50 2 Joël Cuissinat
lxc.network.name = eth0
51 2 Joël Cuissinat
lxc.network.mtu = 1500
52 2 Joël Cuissinat
lxc.network.macvlan.mode = bridge
53 2 Joël Cuissinat
54 2 Joël Cuissinat
# containers on br0
55 2 Joël Cuissinat
# Reuse LTSP server IP
56 2 Joël Cuissinat
# http://eole.ac-dijon.fr/documentations/2.6/partielles/beta/EOLE/co/02-fichiers.html
57 2 Joël Cuissinat
lxc.network.type=veth
58 2 Joël Cuissinat
lxc.network.link=lxcbr0
59 2 Joël Cuissinat
lxc.network.flags=up
60 2 Joël Cuissinat
lxc.network.name = containers
61 2 Joël Cuissinat
lxc.network.mtu = 1500
62 2 Joël Cuissinat
lxc.network.veth.pair = seth_0
63 2 Joël Cuissinat
lxc.network.ipv4 = 10.0.3.54/24
64 2 Joël Cuissinat
</pre>