A télécharger :
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
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