Modifications pour le document Créer une VM

Modifié par Gaetan RETEL le 2026/04/08 21:56

Depuis la version 4.1
modifié par sasportesj
sur 2021/04/09 18:35
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 16.2
modifié par Gaetan RETEL
sur 2026/04/08 21:56
Commentaire de modification : Auto-saved during real-time collaboration

Résumé

Détails

Propriétés de la Page
Auteur du document
... ... @@ -1,1 +1,1 @@
1 -XWiki.sasportesj
1 +XWiki.retelgaeta
Contenu
... ... @@ -1,4 +1,4 @@
1 -**Sur Touffu** (touffu.infra.atilla.org) :
1 +**Sur [[Touffu>>doc:Infrastructure.Serveurs_physiques.Touffu.WebHome]], [[Laika>>doc:Infrastructure.Serveurs_physiques.Laika.WebHome]], [[Odie>>doc:Infrastructure.Serveurs_physiques.Odie.WebHome]] ou [[Balto>>doc:Infrastructure.Serveurs_physiques.Balto.WebHome]]** (touffu.infra.atilla.org, laika.infra.atilla.org, odie.infra.atilla.org ou balto.infra.atilla.org) :
2 2  
3 3  
4 4  Créer une nouvelle instance de xen (par exemple) :
... ... @@ -7,15 +7,26 @@
7 7  xen-create-image --hostname=<nom de la VM> --dist=stable --lvm=VMs --dhcp --memory=1G --password=<mot de passe de la VM> --size=5G --swap=256M --vcpus=1
8 8  {{/code}}
9 9  
10 +{{error}}
11 +Sur Odie il faut remplacer {{code language="none"}}--lvm=VMs{{/code}} par {{code language="none"}}--lvm=data{{/code}}. Et sur Balto par {{code language="none"}}--lvm==lvm{{/code}}.
12 +{{/error}}
10 10  
11 -**Sur Bill **(root@atilla.org depuis l'extérieur, bill.infra.atilla.org depuis l'intérieur du réseau) :
14 +{{warning}}
15 +Pour le nom de la VM, ne pas oublier d'y ajouter les suffixes -prod, -preprod, -dev...
16 +{{/warning}}
12 12  
18 +**Sur [[Bill>>doc:Infrastructure.Serveurs_physiques.Bill.WebHome]] **(root@atilla.org depuis l'extérieur, bill.infra.atilla.org depuis l'intérieur du réseau) :
13 13  
14 -Dans /etc/bind/internal, on cherche un slot vide à la bonne adresse IP et on le remplit BIEN (c'est-à-dire qu'on fait attention à bien écrire si on est en prod, preprod, ou dev dans le nom de la VM). On modifie aussi db.10.168.192.in-addr.arpa et le fichier db du nom de domaine si on met le site en ligne.
20 +Dans /etc/bind/internal, on cherche un slot vide à la bonne adresse IP et on le remplit BIEN (c'est-à-dire qu'on fait attention à bien écrire si on est en prod, preprod, ou dev dans le nom de la VM). On modifie aussi db.10.168.192.in-addr.arpa
15 15  
16 -Dans /etc/dhcp, on trouve tous les DHCP dans chacun des fichiers (prod.conf, dev.conf, ...), on remplit le bon fichier avec l'adresse MAC et l'adresse IP correspondante.
22 +//Si on met le site en ligne ~:// On modifie aussi le fichier db du nom de domaine (db.atilla.org ou db.eistiens.net) dans /etc/bind/internal et dans /etc/bind/external.
17 17  
24 +{{info}}
25 +Si vous voulez comprendre ce que vous venez de faire, [[cliquez ici>>Infrastructure.Tutoriels.MiseEnPlaceSousDomaine.WebHome||anchor="HIdE9egE9nE9rale"]]
26 +{{/info}}
18 18  
28 +Dans /etc/dhcp, on trouve tous les DHCP dans chacun des fichiers (prod.conf, dev.conf, ...), on remplit le bon fichier avec l'adresse MAC et l'adresse IP correspondante.
29 +
19 19  Ensuite, on restart le système avec :
20 20  
21 21  {{code language="none"}}
... ... @@ -23,12 +23,10 @@
23 23  systemctl restart bind9 # pour restart le DNS
24 24  {{/code}}
25 25  
37 +**Sur [[Touffu>>doc:Infrastructure.Serveurs_physiques.Touffu.WebHome]], [[Laika>>doc:Infrastructure.Serveurs_physiques.Laika.WebHome]], [[Odie>>doc:Infrastructure.Serveurs_physiques.Odie.WebHome]] ou [[Balto>>doc:Infrastructure.Serveurs_physiques.Balto.WebHome]]** :
26 26  
27 -**Sur Touffu :**
39 +On voit que dans /etc/xen un fichier .cfg a été ajou automatiquement.
28 28  
29 -
30 -On voit que dnas /etc/xen un fichier .cfg a été ajouté automatiquement.
31 -
32 32  Dans /etc/xen/auto, on crée un lien symbolique pour notre VM :
33 33  
34 34  {{code language="none"}}
... ... @@ -43,12 +43,10 @@
43 43  
44 44  **Sur la VM :**
45 45  
46 -
47 47  login : root
48 48  
49 49  mdp : celui que vous avez mis quand vous avez créé votre VM
50 50  
51 -
52 52  Maintenant qu'on est sur l'interface de notre VM, on installe la base (vim et wget pour installer puppet) :
53 53  
54 54  {{code language="none"}}
... ... @@ -55,22 +55,32 @@
55 55  apt install vim wget
56 56  {{/code}}
57 57  
58 -On télécharge ensuite le paquet de puppet, et on l'installe :
65 +On télécharge ensuite le paquet openvox (fork de puppet) correspondant à l'OS ([[voir sources>>https://apt.voxpupuli.org/]]), et on l'installe :
59 59  
60 60  {{code language="none"}}
61 -wget https://apt.puppet.com/puppet7-release-<debian version>.deb # exemple de debian version : stretch, buster, ...
68 +wget https://apt.voxpupuli.org/openvox8-release-debian<debian number version>.deb # exemple de debian version : 12, 13, ...
62 62  dpkg -i <nom du fichier téléchargé>.deb
63 63  {{/code}}
64 64  
65 -On update ensuite les paquets disponibles, et on installe l'agent puppet :
72 +(% class="box infomessage" %)
73 +(((
74 +Pour chercher la version de debian, on peut regarder le contenu du fichier /etc/debian_version ou utiliser la commande {{code language="bash"}}lsb_release -a {{/code}}
75 +)))
66 66  
77 +On update ensuite les paquets disponibles, et on installe l'agent openvox :
78 +
67 67  {{code language="none"}}
68 68  apt-get update
69 -apt-get install puppet-agent
81 +apt-get install openvox-agent
70 70  {{/code}}
71 71  
84 +(% class="box infomessage" %)
85 +(((
86 +Openvox cherche à rester compatible avec l'écosystème puppet, les nom des exécutables et leur path sont donc identiques.
87 +)))
88 +
72 72  {{warning}}
73 -Les exécutables de Puppet ne sont pas dans le ##PATH## par défaut (ces derniers se trouvent dans ##/opt/puppetlabs/bin##). On utilise donc des chemins absolus dans les prochaines étapes. Lors de la première sychronisation avec Puppet, le ##.bashrc## de l'utilisateur ##root## sera mis à jour pour inclure ce chemin dans le ##PATH## par défaut.
90 +Les exécutables de Puppet/Openvox ne sont pas dans le ##PATH## par défaut (ces derniers se trouvent dans ##/opt/puppetlabs/bin##). On utilise donc des chemins absolus dans les prochaines étapes. Lors de la première sychronisation avec Puppet, le ##.bashrc## de l'utilisateur ##root## sera mis à jour pour inclure ce chemin dans le ##PATH## par défaut.
74 74  {{/warning}}
75 75  
76 76  On démarre ensuite le service de puppet :
... ... @@ -79,13 +79,22 @@
79 79  /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
80 80  {{/code}}
81 81  
82 - On connecte ensuite l'agent au serveur de puppetce jour Milou) :
99 +On modifie le fichier de configuration {{code language="none"}}/etc/puppetlabs/puppet/puppet.conf{{/code}} :
83 83  
101 +(% class="box" %)
102 +(((
103 +{{{[main]
104 +server = puppet-prod.prod.infra.atilla.org
105 +certname = <server name>.infra.atilla.org}}}
106 +)))
107 +
108 +On connecte ensuite l'agent au serveur de puppet :
109 +
84 84  {{code language="none"}}
85 85  /opt/puppetlabs/bin/puppet ssl bootstrap
86 86  {{/code}}
87 87  
88 -**En  parallèle, sur Milou** (milou.infra.atilla.org) :
114 +**En  parallèle, sur [[Puppet>>doc:Infrastructure.Puppet.WebHome]]** (puppet.infra.atilla.org, qui fait tourner Openvox) :
89 89  
90 90  Via la commande précédente, un certificat a été créé, que le serveur doit signer pour que les deux machines puissent communiquer.
91 91  
... ... @@ -109,7 +109,6 @@
109 109  
110 110   **Sur la VM :**
111 111  
112 -
113 113  Pour vérifier que tout marche bien :
114 114  
115 115  {{code language="none"}}
... ... @@ -116,25 +116,42 @@
116 116  /opt/puppetlabs/bin/puppet ssl bootstrap
117 117  {{/code}}
118 118  
119 -== Si on veut mettre la VM en ligne : ==
144 +(% class="wikigeneratedid" %)
145 +Pour récupérer le catalogue manuellement :
120 120  
147 +(% class="box" %)
148 +(((
149 +/opt/puppetlabs/bin/puppet agent -t
150 +)))
121 121  
122 -**Sur Bill :**
152 +== Si on veut mettre la VM en ligne : ==
123 123  
154 +**Sur [[Bill>>doc:Infrastructure.Serveurs_physiques.Bill.WebHome]] :**
124 124  
156 +{{info}}
157 +Il existe plusieurs manières de configurer nginx, on en détaille une ici, mais si vous voulez la comprendre ou utiliser l'autre, [[cliquez ici>>Infrastructure.Tutoriels.MiseEnPlaceSousDomaine.WebHome||anchor="HMiseenplacedelaconfigurationNginx"]]
158 +{{/info}}
159 +
125 125  On crée un nouveau fichier dans /etc/nginx pour la VM (on peut copier sur les autres et adapter le nom).
126 126  
127 127  On crée un fichier error.log et un fichier access.log dans /var/log/nginx
128 128  
129 -On va ensuite dans /etc/nginx/sites-enables/<nom de domaine qu'on a choisi> et on crée un lien symbolique :
164 +On va ensuite dans /etc/nginx/sites-enabled/<nom de domaine qu'on a choisi> et on crée un lien symbolique :
130 130  
131 131  {{code language="none"}}
132 132  ln -s ../../sites-available/<DNS de la VM>
133 133  {{/code}}
134 134  
135 -On redémarre nginx pour que ça marche :
170 +De plus, on ajoute un certificat à l'aide de cette suite de commandes :
136 136  
137 137  {{code language="none"}}
138 -systemctl restart nginx
173 +systemctl stop nginx && certbot certonly -d <DNS de la VM> && systemctl start nginx
139 139  {{/code}}
140 140  
176 +{{info}}
177 +Si vous voulez comprendre ce que vous venez de faire, [[cliquez ici>>Infrastructure.Tutoriels.MiseEnPlaceSousDomaine.WebHome||anchor="HMiseenplacedescertificatsSSL"]]
178 +{{/info}}
179 +
180 +
181 +
182 +== ==