Scribe+eole-ad+Seth-conteneur » Historique » Version 3
Joël Cuissinat, 13/02/2018 11:29
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 | h2. Mise en œuvre du module Seth dans un conteneur LXC |
8 | 2 | Joël Cuissinat | |
9 | 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 |
10 | 1 | Joël Cuissinat | |
11 | 3 | Joël Cuissinat | h3. Génération du conteneur |
12 | 3 | Joël Cuissinat | |
13 | 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". |
14 | 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. |
15 | 2 | Joël Cuissinat | |
16 | 2 | Joël Cuissinat | <pre> |
17 | 2 | Joël Cuissinat | apt install lxc1 lxc-templates debootstrap cgroup-lite |
18 | 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 |
19 | 2 | Joël Cuissinat | </pre> |
20 | 1 | Joël Cuissinat | |
21 | 3 | Joël Cuissinat | h3. Configuration du conteneur |
22 | 3 | Joël Cuissinat | |
23 | 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. |
24 | 2 | Joël Cuissinat | |
25 | 2 | Joël Cuissinat | Nous nous sommes adaptés au paramétrage proposé par défaut : |
26 | 2 | Joël Cuissinat | * conteneur dans @/var/lib/lxc/@ |
27 | 2 | Joël Cuissinat | * réseau des conteneurs en 10.0.3.0/24 |
28 | 2 | Joël Cuissinat | |
29 | 2 | Joël Cuissinat | <pre> |
30 | 2 | Joël Cuissinat | root@scribe:~# cat /var/lib/lxc/seth/config |
31 | 2 | Joël Cuissinat | # Template used to create this container: /usr/share/lxc/templates/lxc-ubuntu |
32 | 2 | Joël Cuissinat | |
33 | 2 | Joël Cuissinat | # Common configuration |
34 | 2 | Joël Cuissinat | lxc.include = /usr/share/lxc/config/ubuntu.common.conf |
35 | 2 | Joël Cuissinat | |
36 | 2 | Joël Cuissinat | # Container specific configuration |
37 | 2 | Joël Cuissinat | lxc.utsname = seth |
38 | 2 | Joël Cuissinat | lxc.arch = amd64 |
39 | 2 | Joël Cuissinat | lxc.rootfs.backend = dir |
40 | 2 | Joël Cuissinat | lxc.rootfs = /var/lib/lxc/seth/rootfs |
41 | 2 | Joël Cuissinat | |
42 | 2 | Joël Cuissinat | # EOLE look for /dev/lxc to detect container mode and behave differently |
43 | 2 | Joël Cuissinat | lxc.devttydir = LXC |
44 | 2 | Joël Cuissinat | |
45 | 2 | Joël Cuissinat | # Automatic start at bootup |
46 | 2 | Joël Cuissinat | lxc.start.auto = 1 |
47 | 2 | Joël Cuissinat | |
48 | 2 | Joël Cuissinat | # Network configuration |
49 | 2 | Joël Cuissinat | # eth0 on eth0 |
50 | 2 | Joël Cuissinat | lxc.network.type = macvlan |
51 | 2 | Joël Cuissinat | lxc.network.link = ens4 |
52 | 2 | Joël Cuissinat | lxc.network.flags = up |
53 | 2 | Joël Cuissinat | lxc.network.name = eth0 |
54 | 2 | Joël Cuissinat | lxc.network.mtu = 1500 |
55 | 2 | Joël Cuissinat | lxc.network.macvlan.mode = bridge |
56 | 2 | Joël Cuissinat | |
57 | 2 | Joël Cuissinat | # containers on br0 |
58 | 2 | Joël Cuissinat | # Reuse LTSP server IP |
59 | 2 | Joël Cuissinat | # http://eole.ac-dijon.fr/documentations/2.6/partielles/beta/EOLE/co/02-fichiers.html |
60 | 2 | Joël Cuissinat | lxc.network.type=veth |
61 | 2 | Joël Cuissinat | lxc.network.link=lxcbr0 |
62 | 2 | Joël Cuissinat | lxc.network.flags=up |
63 | 2 | Joël Cuissinat | lxc.network.name = containers |
64 | 2 | Joël Cuissinat | lxc.network.mtu = 1500 |
65 | 2 | Joël Cuissinat | lxc.network.veth.pair = seth_0 |
66 | 1 | Joël Cuissinat | lxc.network.ipv4 = 10.0.3.54/24 |
67 | 3 | Joël Cuissinat | </pre> |
68 | 3 | Joël Cuissinat | |
69 | 3 | Joël Cuissinat | Nous avons ensuite effectué les opération qui nous semblaient adaptées à notre cas (pas de périphérique, pas de proxy, ...). |
70 | 3 | Joël Cuissinat | |
71 | 3 | Joël Cuissinat | * Installer la clef SSH publique pour se connecter en root |
72 | 3 | Joël Cuissinat | |
73 | 3 | Joël Cuissinat | <pre> |
74 | 3 | Joël Cuissinat | mkdir /var/lib/lxc/seth/rootfs/root/.ssh/ |
75 | 3 | Joël Cuissinat | cp ~root/.ssh/id_rsa.pub /var/lib/lxc/seth/rootfs/root/.ssh/authorized_keys |
76 | 3 | Joël Cuissinat | chmod -R 600 /var/lib/lxc/seth/rootfs/root/.ssh/ |
77 | 3 | Joël Cuissinat | </pre> |
78 | 3 | Joël Cuissinat | |
79 | 3 | Joël Cuissinat | * Configurer les sources APT |
80 | 3 | Joël Cuissinat | |
81 | 3 | Joël Cuissinat | <pre> |
82 | 3 | Joël Cuissinat | grep -iv envole /etc/apt/sources.list > /var/lib/lxc/seth/rootfs/etc/apt/sources.list |
83 | 3 | Joël Cuissinat | </pre> |
84 | 3 | Joël Cuissinat | |
85 | 3 | Joël Cuissinat | * Démarrer le conteneur |
86 | 3 | Joël Cuissinat | |
87 | 3 | Joël Cuissinat | <pre> |
88 | 3 | Joël Cuissinat | lxc-start -n seth -d |
89 | 2 | Joël Cuissinat | </pre> |