Table des matières

Puppet - L'Infrastructure Hors Formation

Matériel

Logiciels

Machines Virtuelles

A télécharger :

Réinstaller l'Environnement de Travail

Pour les modules DOF401 au DOF404

Commencez par créer votre compte sur GitHub https://github.com/. Naviguez à l'URL https://git-scm.com/download et suivez les instructions pour installer Git sur votre système d'exploitation.

Clonez ensuite les fichiers pour ce cours :

Sous Linux :

$ git clone https://github.com/bitfield/puppet-beginners-guide-3.git
Clonage dans 'puppet-beginners-guide-3'...
remote: Counting objects: 854, done.
remote: Total 854 (delta 0), reused 0 (delta 0), pack-reused 854
Réception d'objets: 100% (854/854), 98.47 KiB | 320.00 KiB/s, fait.
Résolution des deltas: 100% (443/443), fait.

Sous Windows :

C:\Users\trainee>git clone https://github.com/bitfield/puppet-beginners-guide-3.git
Cloning into 'puppet-beginners-guide-3'...
remote: Counting objects: 854, done.
remote: Total 854 (delta 0), reused 0 (delta 0), pack-reused 854R
Receiving objects: 100% (854/854), 98.47 KiB | 202.00 KiB/s, done.
Resolving deltas: 100% (443/443), done.

Naviguez ensuite à l'URL https://www.virtualbox.org/wiki/Downloads et suivez les instructions pour installer VirtualBox sur votre système d'exploitation.

Naviguez ensuite à l'URL https://www.vagrantup.com/downloads.html et suivez les instructions pour installer Vagrant sur votre système d'exploitation.

Installer la Machine Virtuelle Puppet :

Sous Linux :

vous@votrepc:~$ cd puppet-beginners-guide-3
vous@votrepc:~/puppet-beginners-guide-3$ scripts/start_vagrant.sh

Sous Windows :

Ajoutez le chemin C:\Program Files\Git\bin à votre PATH et au PATH système.

Par exemple, sous Windows™ 10 :

Panneau de configuration > Système et sécurité > Système > Modifier les paramètres > Paramètres système avancés > Variables d'environnement > Path > Modifier (Pour votre utilisateur ET le système) > Nouveau > C:\Program Files\Git\bin > OK > OK > OK

Exécutez cmd et saisissez les commandes suivantes :

cd puppet-beginners-guide-3
Microsoft Windows [version 10.0.16299.431]
(c) 2017 Microsoft Corporation. Tous droits réservés.

C:\Users\trainee>cd puppet-beginners-guide-3

C:\Users\trainee\puppet-beginners-guide-3>cd scripts

C:\Users\trainee\puppet-beginners-guide-3\scripts>start_vagrant.sh

C:\Users\trainee\puppet-beginners-guide-3\scripts>

Git bash sera lancé pour exécuter le script.

A l'issue du processus d'installation, vous obtiendrez :

...
    default: The `minitar` executable is no longer bundled with `minitar`. If you are
    default: expecting this executable, make sure you also install `minitar-cli`.
    default: Successfully installed minitar-0.6.1
    default: Successfully installed puppet_forge-2.2.9
    default: Successfully installed r10k-2.6.2
    default: 10 gems installed

Connectez-vous à la machine virtuelle en utilisant la commande vagrant ssh :

Sous Linux :

vous@votrepc:~/puppet-beginners-guide-3$ vagrant ssh
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


7 packages can be updated.
7 updates are security updates.

New release '18.04.3 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


vagrant@ubuntu-xenial:~$ 

Vérifiez que Puppet a bien été installé :

vagrant@ubuntu-xenial:~$ puppet --version
6.17.0
vagrant@ubuntu-xenial:~$ exit
logout
Connection to 127.0.0.1 closed.
vous@votrepc:~/puppet-beginners-guide-3$ 

Sous Windows :

C:\Users\trainee\puppet-beginners-guide-3\scripts>vagrant ssh
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-127-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.


vagrant@ubuntu-xenial:~$

Vérifiez que Puppet a bien été installé :

vagrant@ubuntu-xenial:~$ puppet --version
6.17.0
vagrant@ubuntu-xenial:~$ exit
logout
Connection to 127.0.0.1 closed.

C:\Users\trainee\puppet-beginners-guide-3\scripts>

Si vous souhaitez remettre votre infrastructure à zéro sous VirtualBox, supprimez simplement la machine virtuelle Puppet :

Sous Linux :

vous@votrepc:~$ cd puppet-beginners-guide-3
vous@votrepc:~/puppet-beginners-guide-3$ vagrant destroy

Sous Windows :

C:\Users\trainee>cd puppet-beginners-guide-3
C:\Users\trainee\puppet-beginners-guide-3>vagrant destroy

Pour le module DOF405

Téléchargez et importez dans VirtualBox les trois machines virtuelles PuppetMaster, PuppetSlave01 et PuppetSlave02. Ces machines ont été configurées de la façon suivante :

Machine Nom d'hôte Adresse IP OS RAM
PuppetMaster master.i2tch.loc 10.0.2.4 Ubuntu 18.04 1024 Mo
PuppetSlave01 slave01.i2tch.loc 10.0.2.5 Ubuntu 18.04 1024 Mo
PuppetSlave02 slave02.i2tch.loc 10.0.2.6 CentOS 7 512 Mo

Les noms d'utilisateurs et les mots de passe sont identiques pour chaque machine :

Utilisateur Mot de Passe
trainee trainee
root fenestros

Créez le réseau Nat NatNetwork :

vous@votrepc:~$ VBoxManage natnetwork add --netname NatNetwork --network "10.0.2.0/24" --enable
vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --dhcp on
vous@votrepc:~$ VBoxManage natnetwork start --netname NatNetwork

Créez ensuite les redirections de ports dans le réseau NAT NatNetwork :

vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "PuppetMaster:tcp:[]:2422:[10.0.2.4]:22"
vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "PuppetSlave01:tcp:[]:2522:[10.0.2.5]:22"
vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "PuppetSlave02:tcp:[]:2622:[10.0.2.6]:22"

Modifiez la RAM de la machine virtuelle PuppetMaster :

vous@votrepc:~$ VBoxManage modifyvm "PuppetMaster" --memory 4096

ainsi que la RAM de la machine virtuelle PuppetSlave02 :

vous@votrepc:~$ VBoxManage modifyvm "PuppetSlave02" --memory 1024

Démarrez ensuite les trois machines virtuelles :

vous@votrepc:~$ VBoxManage startvm PuppetMaster --type headless
Waiting for VM "PuppetMaster" to power on...
VM "PuppetMaster" has been successfully started.
vous@votrepc:~$ VBoxManage startvm PuppetSlave01 --type headless
Waiting for VM "PuppetSlave01" to power on...
VM "PuppetSlave01" has been successfully started.
vous@votrepc:~$ VBoxManage startvm PuppetSlave02 --type headless
Waiting for VM "PuppetSlave02" to power on...
VM "PuppetSlave02" has been successfully started.

Dans un terminal, tapez la commande suivante pour vous connecter à la machine PuppetMaster :

vous@votrepc:~$ ssh -l trainee localhost -p 2422

Dans un terminal, tapez la commande suivante pour vous connecter à la machine PuppetSlave01 :

vous@votrepc:~$ ssh -l trainee localhost -p 2522

Dans un terminal, tapez la commande suivante pour vous connecter à la machine PuppetSlave02 :

vous@votrepc:~$ ssh -l trainee localhost -p 2622

Configurez les trois machines virtuelles pour qu'elles soient sur le même fuseau d'horaire :

trainee@master:~$ su -
Password: fenestros
root@master:~# dpkg-reconfigure tzdata

Current default time zone: 'Europe/Paris'
Local time is now:      Wed Feb 12 14:11:40 CET 2020.
Universal Time is now:  Wed Feb 12 13:11:40 UTC 2020.
trainee@slave01:~$ su -
Password: fenestros
root@slave01:~# dpkg-reconfigure tzdata

Current default time zone: 'Europe/Paris'
Local time is now:      Wed Feb 12 14:12:21 CET 2020.
Universal Time is now:  Wed Feb 12 13:12:21 UTC 2020.
[trainee@slave02 ~]$ su -
Mot de passe : fenestros
Dernière connexion : mercredi 13 mars 2019 à 12:55:24 CET sur tty1
[root@slave02 ~]# timedatectl set-timezone 'Europe/Paris'
[root@slave02 ~]# date
Wed 12 Feb 14:12:51 CET 2020

Désactiver SELinux dans puppetslave02 :

[root@slave02 ~]# vi /etc/sysconfig/selinux 
[root@slave02 ~]# cat /etc/sysconfig/selinux 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 


[root@slave02 ~]# setenforce permissive

Si vous souhaitez remettre votre infrastructure à zéro sous VirtualBox, utilisez les commandes suivantes pour arrêter les machines virtuelles PuppetMaster, PuppetSlave01 et PuppetSlave02 :

desktop@serverXX:~$ VBoxManage controlvm PuppetMaster poweroff
desktop@serverXX:~$ VBoxManage controlvm PuppetSlave01 poweroff
desktop@serverXX:~$ VBoxManage controlvm PuppetSlave02 poweroff

Supprimez les règles de redirection de port :

desktop@serverXX:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 delete PuppetMaster
desktop@serverXX:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 delete PuppetSlave01
desktop@serverXX:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 delete PuppetSlave02

Dernièrement, supprimez le NatNetwork :

desktop@serverXX:~$ VBoxManage natnetwork stop --netname NatNetwork
desktop@serverXX:~$ VBoxManage natnetwork remove --netname NatNetwork