Code source wiki de Créer une VM
Version 1.1 par sasportesj le 2021/04/04 00:01
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | **Sur Touffu** (touffu.infra.atilla.org) : | ||
| 2 | |||
| 3 | |||
| 4 | Créer une nouvelle instance de xen (par exemple) : | ||
| 5 | |||
| 6 | {{code language="bash"}} | ||
| 7 | xen-create-image --hostname=<nom de la VM> --mac=<adresse MAC libre> --dist=stable --lvm=VMs --dhcp --memory=1G --password=<mot de passe de la VM> --size=5G --swap=256M --vcpus=1 | ||
| 8 | {{/code}} | ||
| 9 | |||
| 10 | |||
| 11 | **Sur Bill **(root@atilla.org depuis l'extérieur, bill.infra.atilla.org depuis l'intérieur du réseau) : | ||
| 12 | |||
| 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. | ||
| 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. | ||
| 17 | |||
| 18 | |||
| 19 | Ensuite, on restart le système avec : | ||
| 20 | |||
| 21 | {{code language="none"}} | ||
| 22 | systemctl restart isc-dhcp-server.service # pour restart le DHCP | ||
| 23 | systemctl restart bind9 # pour restart le DNS | ||
| 24 | {{/code}} | ||
| 25 | |||
| 26 | |||
| 27 | **Sur Touffu :** | ||
| 28 | |||
| 29 | |||
| 30 | On voit que dnas /etc/xen un fichier .cfg a été ajouté automatiquement. | ||
| 31 | |||
| 32 | Dans /etc/xen/auto, on crée un lien symbolique pour notre VM : | ||
| 33 | |||
| 34 | {{code language="none"}} | ||
| 35 | ln -s ../<nom de la VM>.cfg | ||
| 36 | {{/code}} | ||
| 37 | |||
| 38 | On crée ensuite la machine et on se rend sur son interface : | ||
| 39 | |||
| 40 | {{code language="none"}} | ||
| 41 | xl create -c <nom de la VM>.cfg | ||
| 42 | {{/code}} | ||
| 43 | |||
| 44 | **Sur la VM :** | ||
| 45 | |||
| 46 | |||
| 47 | login : root | ||
| 48 | |||
| 49 | mdp : celui que vous avez mis quand vous avez créé votre VM | ||
| 50 | |||
| 51 | |||
| 52 | Maintenant qu'on est sur l'interface de notre VM, on installe la base (vim et wget pour installer puppet) : | ||
| 53 | |||
| 54 | {{code language="none"}} | ||
| 55 | apt install vim wget | ||
| 56 | {{/code}} | ||
| 57 | |||
| 58 | On télécharge ensuite le paquet de puppet, et on l'installe : | ||
| 59 | |||
| 60 | {{code language="none"}} | ||
| 61 | wget https://apt.puppet.com/puppet7-release-<debian version>.deb # exemple de debian version : stretch, buster, ... | ||
| 62 | dpkg -i <nom du fichier téléchargé>.deb | ||
| 63 | {{/code}} | ||
| 64 | |||
| 65 | On update ensuite les paquets disponibles, et on installe l'agent puppet : | ||
| 66 | |||
| 67 | {{code language="none"}} | ||
| 68 | apt-get update | ||
| 69 | apt-get install puppet-agent | ||
| 70 | {{/code}} | ||
| 71 | |||
| 72 | (% class="box warningmessage" %) | ||
| 73 | ((( | ||
| 74 | Pour utiliser la commande puppet, on devra maintenant utiliser le lien /opt/puppetlabs/bin/puppet, à moins de mettre à jour le path | ||
| 75 | ))) | ||
| 76 | |||
| 77 | On démarre ensuite le service de puppet : | ||
| 78 | |||
| 79 | {{code language="none"}} | ||
| 80 | /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true | ||
| 81 | {{/code}} | ||
| 82 | |||
| 83 | On connecte ensuite l'agent au serveur de puppet (à ce jour Milou) : | ||
| 84 | |||
| 85 | {{code language="none"}} | ||
| 86 | puppet ssl bootstrap | ||
| 87 | {{/code}} | ||
| 88 | |||
| 89 | **En parallèle, sur Milou** (milou.infra.atilla.org) : | ||
| 90 | |||
| 91 | Via la commande précédente, un certificat a été créé, que le serveur doit signer pour que les deux machines puissent communiquer. | ||
| 92 | |||
| 93 | Pour voir la liste des certificats pas signés : | ||
| 94 | |||
| 95 | {{code language="none"}} | ||
| 96 | puppetserver ca list | ||
| 97 | {{/code}} | ||
| 98 | |||
| 99 | Pour signer un certificat précis : | ||
| 100 | |||
| 101 | {{code language="none"}} | ||
| 102 | puppetserver ca sign --certname <nom de la VM> | ||
| 103 | {{/code}} | ||
| 104 | |||
| 105 | Pour signer tous les certificats pas signés : | ||
| 106 | |||
| 107 |