technique:infra:creation_vm

Création d'une machine virtuelle chez Grenode

Tout d'abord, il faut se connecter à l'hyperviseur (tillac) et y créer la machine au niveau de Ganeti :

sudo gnt-instance add -o noop -t plain -s 50G -B memory=4.0G --net=0:link=br-ilc-intra --no-name-check --no-ip-check --no-start bugne.ilico.org
  • -s : taille du disque
  • -B memory= : taille de la RAM
  • –net=0:link=br-ilc-intra : on donne une interface à la VM, dans le bridge interne Ilico, relié à Coussin (la gateway pour nos VM chez Grenode)

On la démarre sur une iso d'install Debian :

sudo gnt-instance start -H boot_order=cdrom,cdrom_image_path=/srv/iso/debian-8.6.0-amd64-netinst.iso bugne.ilico.org

Pour faire l'installation, il faut se connecter en VNC. Pour cela, il faut d'abord récupérer le port correspondant à notre VM :

sudo gnt-instance list -o +network_port

On voit que le port de la machine bugne.ilico.org est 11012. Il faut ensuite monter un tunnel entre votre ordinateur local (celui où vous allez lancer un client VNC pour faire l'installation) et tillac :

ssh -L 4444:127.0.0.1:11011 tillac.grenode.net

Ensuite, il n'y a plus qu'à faire pointer un client VNC sur le port 4444 de localhost pour faire l'installation. Au début de l'installation, le réseau doit être configuré manuellement :

IP : on pioche dans 80.67.180.0/28 en mettant à jour les DNS et le reverse de l'IP choisie
Netmask : 255.255.255.240
Gateway : 80.67.180.1

Une fois l'installation terminée, on éteint la VM puis on la relance, cette fois, sans l'option qui la faisait booter sur un cdrom :

sudo gnt-instance shutdown bugne.ilico.org
… on attend …
sudo gnt-instance start bugne.ilico.org

Et voilà, on peut à présent se connecter en SSH sur notre machine pour la configurer. On ne peut se connecter en root, il faut donc se connecter avec le premier utilisateur créé lors de l'installation. Puis, on effectue les opérations suivantes sur la machine :

# On passe root
taziden@bugne:$ su - 
# On installe quelques paquets minimaux qui permettront ensuite de configurer le reste via Ansible
root@bugne:# apt-get install python python-apt aptitude lsb-release sudo
# On repasse en tant qu'utilisateur taziden et on l'ajoute au groupe sudo 
root@bugne:# adduser taziden sudo
# On change le port d'écoute d'SSH pour le mettre sur le 2222 (avec vim ou nano, peu importe)
root@bugne:# vim /etc/ssh/sshd_config
# On redémarre ssh
root@bugne:# service ssh restart
# On se déconnecte, Ansible va faire le reste du taf
root@bugne:# exit

On ajoute notre machine à la liste des hosts Ansible puis, on peut lancer le playbook Ansible init.yml qui va effectuer un certain nombre d'actions dont créer les autres administrateurs de la machine, installer tous les paquets de base, installer et configurer apticron, fail2ban et collectd, etc.

ansible-playbook -l bugne.ilico.org init.yml
# Le mot de passe SUDO demandé est bien entendu le mot de passe de votre premier utilisateur sur la machine en question

Et voilà !

  • technique/infra/creation_vm.txt
  • Dernière modification : 2016/10/22 14:50
  • de taziden