Modifications pour le document Créer une VM

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

Depuis la version 6.1
modifié par sasportesj
sur 2021/04/09 19:00
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,18 +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 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
15 15  
16 -//Si on met le site en ligne ~:// On modifie aussi le fichier db du nom de domaine dans /etc/bind/internal et dans /etc/bind/external.
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  
19 19  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.
20 20  
21 -
22 22  Ensuite, on restart le système avec :
23 23  
24 24  {{code language="none"}}
... ... @@ -26,12 +26,10 @@
26 26  systemctl restart bind9 # pour restart le DNS
27 27  {{/code}}
28 28  
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]]** :
29 29  
30 -**Sur Touffu :**
39 +On voit que dans /etc/xen un fichier .cfg a été ajou automatiquement.
31 31  
32 -
33 -On voit que dnas /etc/xen un fichier .cfg a été ajouté automatiquement.
34 -
35 35  Dans /etc/xen/auto, on crée un lien symbolique pour notre VM :
36 36  
37 37  {{code language="none"}}
... ... @@ -46,12 +46,10 @@
46 46  
47 47  **Sur la VM :**
48 48  
49 -
50 50  login : root
51 51  
52 52  mdp : celui que vous avez mis quand vous avez créé votre VM
53 53  
54 -
55 55  Maintenant qu'on est sur l'interface de notre VM, on installe la base (vim et wget pour installer puppet) :
56 56  
57 57  {{code language="none"}}
... ... @@ -58,22 +58,32 @@
58 58  apt install vim wget
59 59  {{/code}}
60 60  
61 -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 :
62 62  
63 63  {{code language="none"}}
64 -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, ...
65 65  dpkg -i <nom du fichier téléchargé>.deb
66 66  {{/code}}
67 67  
68 -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 +)))
69 69  
77 +On update ensuite les paquets disponibles, et on installe l'agent openvox :
78 +
70 70  {{code language="none"}}
71 71  apt-get update
72 -apt-get install puppet-agent
81 +apt-get install openvox-agent
73 73  {{/code}}
74 74  
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 +
75 75  {{warning}}
76 -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.
77 77  {{/warning}}
78 78  
79 79  On démarre ensuite le service de puppet :
... ... @@ -82,13 +82,22 @@
82 82  /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
83 83  {{/code}}
84 84  
85 - 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}} :
86 86  
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 +
87 87  {{code language="none"}}
88 88  /opt/puppetlabs/bin/puppet ssl bootstrap
89 89  {{/code}}
90 90  
91 -**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) :
92 92  
93 93  Via la commande précédente, un certificat a été créé, que le serveur doit signer pour que les deux machines puissent communiquer.
94 94  
... ... @@ -112,7 +112,6 @@
112 112  
113 113   **Sur la VM :**
114 114  
115 -
116 116  Pour vérifier que tout marche bien :
117 117  
118 118  {{code language="none"}}
... ... @@ -119,24 +119,42 @@
119 119  /opt/puppetlabs/bin/puppet ssl bootstrap
120 120  {{/code}}
121 121  
122 -== Si on veut mettre la VM en ligne : ==
144 +(% class="wikigeneratedid" %)
145 +Pour récupérer le catalogue manuellement :
123 123  
147 +(% class="box" %)
148 +(((
149 +/opt/puppetlabs/bin/puppet agent -t
150 +)))
124 124  
125 -**Sur Bill :**
152 +== Si on veut mettre la VM en ligne : ==
126 126  
154 +**Sur [[Bill>>doc:Infrastructure.Serveurs_physiques.Bill.WebHome]] :**
127 127  
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 +
128 128  On crée un nouveau fichier dans /etc/nginx pour la VM (on peut copier sur les autres et adapter le nom).
129 129  
130 130  On crée un fichier error.log et un fichier access.log dans /var/log/nginx
131 131  
132 -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 :
133 133  
134 134  {{code language="none"}}
135 135  ln -s ../../sites-available/<DNS de la VM>
136 136  {{/code}}
137 137  
138 -On redémarre nginx pour que ça marche :
170 +De plus, on ajoute un certificat à l'aide de cette suite de commandes :
139 139  
140 140  {{code language="none"}}
141 -systemctl restart nginx
173 +systemctl stop nginx && certbot certonly -d <DNS de la VM> && systemctl start nginx
142 142  {{/code}}
175 +
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 +== ==