Puppet - L'Infrastructure Hors Formation

Matériel

Un poste 64 bits (MacOS, Linux, Windows™ ou Solaris™),

Dans le cas de Windows™, seulement la version 7 ou 10 avec Hyper-V désinstallé,

Le mot de passe du compte administrateur du système,

Clavier AZERTY FR ou QWERTY US,

16 Go de RAM minimum,

Processeur 8 cœurs minimum,

16 Go d'espace disque disponible.

Logiciels

Oracle VirtualBox v 6.0 ou plus (MacOS, Linux, Windows™ ou Solaris™),

Si Windows™ - Putty et WinSCP,

Navigateur Web Chrome ou Firefox.

Machines Virtuelles

A télécharger :

PuppetMaster,

PuppetSlave01,

PuppetSlave02.

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