Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:debian:6:avance:l129:part1 [2020/01/30 03:28] – modification externe 127.0.0.1elearning:workbooks:debian:6:avance:l129:part1 [2022/06/20 17:07] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version : **2022.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
 ======DOF401 - Puppet en Mode Sans Maître====== ======DOF401 - Puppet en Mode Sans Maître======
 +
 +=====Contenu du Module=====
 +
 +  * **DOF401 - Puppet en Mode Sans Maître**
 +    * Contenu du Module
 +    * Qu'est-ce Puppet ?
 +    * Démarrer avec Puppet
 +      * Utiliser des Manifests
 +        * LAB #1 - Gestion des Fichiers
 +          * 1.1 - Modification d'un Fichier Existant sur le Serveur
 +          * 1.2 - Effectuer un Dry Run avec Puppet
 +        * LAB #2 - Gestion des Paquets
 +        * LAB #3 - Gestion des Services
 +      * Gérer du code Puppet avec Git
 +        * LAB #4 - Créer un Repository Local
 +          * 4.1 - Les Branches avec Git
 +        * LAB #5 - Créer un Repository Distant
 +        * LAB #6 - Cloner un Repository
 +        * LAB #7 - Appliquer des Modifications Automatiquement
 +        * LAB #8 - Mise en Place sur un Nœud
  
 =====Qu'est-ce Puppet ?===== =====Qu'est-ce Puppet ?=====
Ligne 25: Ligne 47:
   * de gérer individuellement les droits utilisateurs.   * de gérer individuellement les droits utilisateurs.
  
-=====Que couvre ce cours ?===== 
- 
-Ce cours couvre les sujets suivants : 
- 
-  * Démarrer avec Puppet, 
-  * Utiliser des mainifests, 
-  * Gérer du code Puppet avec Git, 
-  * Les Ressources Puppet, 
-  * Variables, Expressions et Expressions Conditionnelles et Facts, 
-  * Hiera, 
-  * Modules Puppet, 
-  * Installer Puppet en mode Agent/Maître. 
-   
 =====Démarrer avec Puppet===== =====Démarrer avec Puppet=====
  
Ligne 85: Ligne 94:
     * un nœud est dédié à l'exécution de Puppet et tous les autres nœuds doivent le contacter pour connaître la configuration à appliquer.     * un nœud est dédié à l'exécution de Puppet et tous les autres nœuds doivent le contacter pour connaître la configuration à appliquer.
  
-<WRAP center round important 50%>+<WRAP center round important>
 **Important** - Ce cours commence avec l'utilisation de Puppet en mode **Sans Maître** en utilisant Git et termine avec l'étude de l'architecture Agent/Maître. **Important** - Ce cours commence avec l'utilisation de Puppet en mode **Sans Maître** en utilisant Git et termine avec l'étude de l'architecture Agent/Maître.
 </WRAP> </WRAP>
  
-====LAB #1 - Installation==== +Commencez en vous connectant à la machine virtuelle debian10 à partir d'un terminal de votre gateway :
- +
-===Installer Git=== +
- +
-Si ce n'est pas déjà fait, commencez par créer votre compte sur GitHub **[[https://github.com/]]**. +
- +
-Si ce n'est pas déjà fait, 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 Debian/Ubuntu==+
  
 <code> <code>
-trainee@puppet:~$ git clone https://github.com/bitfield/puppet-beginners-guide-3.git +trainee@traineeXX:~$ ssh -l trainee 10.0.2.70
-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.+
 </code> </code>
  
-==Sous Windows== +Les noms d'utilisateurs et les mots de passe sont :
- +
-<code> +
-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. +
-</code> +
- +
-===Installer VirtualBox=== +
- +
-Si ce n'est pas déjà fait, naviguez à l'URL **[[https://www.virtualbox.org/wiki/Downloads]]** et suivez les instructions pour installer VirtualBox sur votre système d'exploitation. +
- +
-===Installer Vagrant=== +
- +
-Si ce n'est pas déjà fait, naviguez à 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===+^ Utilisateur ^ Mot de Passe ^ 
 +| trainee | trainee | 
 +| root | fenestros |
  
-==Sous Debian/Ubuntu==+Démarrez maintenant votre environnement de travail Puppet :
  
 <code> <code>
-trainee@puppet:~$ cd puppet-beginners-guide-3 +trainee@debian10:~/puppet-beginners-guide-3$ vagrant up
-trainee@puppet:~/puppet-beginners-guide-3$ scripts/start_vagrant.sh+
 </code> </code>
  
-==Sous Windows==+====Utiliser des Manifests====
  
-Ajoutez le chemin **C:\Program Files\Git\bin** à votre PATH et au PATH système. +Re-démarrez votre environnement Puppet :
- +
-Par exemple, sous Windows(tm) 10 : +
- +
-<file> +
-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 +
-</file> +
- +
-Exécutez **cmd** et saisissez les commandes suivantes : +
- +
-<code>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> +
-</code> +
- +
-**Git bash** sera lancé pour exécuter le script. +
- +
-===Se connecter à la Machine Virtuelle Puppet=== +
- +
-A l'issue du processus d'installation, vous obtiendrez :+
  
 <code> <code>
-... +trainee@debian10:~/puppet-beginners-guide-3$ vagrant reload
-    defaultThe `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+
 </code> </code>
  
-Connectez-vous à la machine virtuelle en utilisant la commande **vagrant ssh** :+===LAB #1 Gestion des Fichiers===
  
-==Sous Debian/Ubuntu==+Connectez-vous à votre environnement de travail Puppet et créez le fichier **file_hello.pp** :
  
 <code> <code>
-trainee@puppet:~/puppet-beginners-guide-3$ vagrant ssh +trainee@debian10:~/puppet-beginners-guide-3$ vagrant ssh 
-Welcome to Ubuntu 16.04.LTS (GNU/Linux 4.4.0-127-generic x86_64)+Welcome to Ubuntu 16.04.LTS (GNU/Linux 4.4.0-210-generic x86_64)
  
  * Documentation:  https://help.ubuntu.com  * Documentation:  https://help.ubuntu.com
Ligne 191: Ligne 136:
  * Support:        https://ubuntu.com/advantage  * Support:        https://ubuntu.com/advantage
  
-  Get cloud support with Ubuntu Advantage Cloud Guest: +34 packages can be updated. 
-    http://www.ubuntu.com/business/services/cloud+12 of these updates are security updates. 
 +To see these additional updates run: apt list --upgradable
  
-0 packages can be updated+New release '18.04.6 LTS' available
-0 updates are security updates.+Run 'do-release-upgrade' to upgrade to it.
  
  
 +Last login: Thu Apr 29 10:16:09 2021 from 10.0.2.2
 vagrant@ubuntu-xenial:~$  vagrant@ubuntu-xenial:~$ 
-</code> 
  
-Vérifiez que Puppet a bien été installé : 
- 
-<code> 
-vagrant@ubuntu-xenial:~$ puppet --version 
-5.5.1 
-vagrant@ubuntu-xenial:~$ exit 
-logout 
-Connection to 127.0.0.1 closed. 
-</code> 
- 
-==Sous Windows== 
- 
-<code> 
-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:~$ 
-</code> 
- 
-Vérifiez que Puppet a bien été installé : 
- 
-<code> 
-vagrant@ubuntu-xenial:~$ puppet --version 
-5.5.1 
-vagrant@ubuntu-xenial:~$ exit 
-logout 
-Connection to 127.0.0.1 closed. 
- 
-C:\Users\trainee\puppet-beginners-guide-3\scripts> 
-</code> 
- 
-=====Utiliser des mainifests===== 
- 
-====LAB #2 - Gestion des Fichiers==== 
- 
-Re-connectez-vous à votre machine virtuelle et créez le fichier **file_hello.pp** : 
- 
-<code> 
-trainee@puppet:~/puppet-beginners-guide-3$ 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. 
- 
- 
-Last login: Sat May 26 12:23:54 2018 from 10.0.2.2 
-  
 vagrant@ubuntu-xenial:~$ vi file_hello.pp vagrant@ubuntu-xenial:~$ vi file_hello.pp
 vagrant@ubuntu-xenial:~$ cat file_hello.pp  vagrant@ubuntu-xenial:~$ cat file_hello.pp 
Ligne 274: Ligne 155:
 </code> </code>
  
-<code> +Dans ce fichier nous pouvons constater la déclaration d'une ressource de type fichier avec **file**. Une ressource est une configuration que vous souhaitez être gérée par Puppet par exemple, un fichier, un utilisateur, un compte ou bien un paquet. Le format de notre manifest est donc :
-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. +
- +
- +
-Last login: Sat May 26 12:25:41 2018 from 10.0.2.2 +
- +
-vagrant@ubuntu-xenial:~$ sudo vi file_hello.pp +
-vagrant@ubuntu-xenial:~$ cat file_hello.pp  +
-file { '/tmp/hello.txt': +
-  ensure  => file, +
-  content => "hello, world\n", +
-}  +
-</code> +
- +
-Dans ce fichier nous pouvons constater la déclaration d'une ressource de type fichier avec **file**. Une ressource est une configuration que vous souhaitez être géréé par Puppet par exemple, un fichier, un utilisateur, un compte ou bien un paquet. Le format de notre manifest est donc :+
  
 <file> <file>
Ligne 310: Ligne 166:
 La ressource est identifiée par un titre. Chaque ressource doit avoir un titre unique. Dans le cas d'un fichier c'est le chemin complet vers le fichier - **/tmp/hello.txt**. La ressource est identifiée par un titre. Chaque ressource doit avoir un titre unique. Dans le cas d'un fichier c'est le chemin complet vers le fichier - **/tmp/hello.txt**.
  
-Le reste du code est une liste d'attributs pour la ressource. Dans le cas d'un fichier les attibuts disponibles pour sont, par exemple :+Le reste du code est une liste d'attributs pour la ressource. Dans le cas d'un fichier les attributs disponibles pour sont, par exemple :
  
   * le contenu,   * le contenu,
Ligne 318: Ligne 174:
   * etc ...   * etc ...
  
-<WRAP center round important 50%>+<WRAP center round important>
 **Important** - Bien que les attributs soient différents selon le type de ressource, l'attribut **ensure** est commun à toutes les ressources. Par contre, la valeur de cet attribut diffère selon le type de ressource. Dans le cas de notre code, il est stipulé un fichier et non un répertoire ou un liens symbolique. **Important** - Bien que les attributs soient différents selon le type de ressource, l'attribut **ensure** est commun à toutes les ressources. Par contre, la valeur de cet attribut diffère selon le type de ressource. Dans le cas de notre code, il est stipulé un fichier et non un répertoire ou un liens symbolique.
 </WRAP> </WRAP>
Ligne 330: Ligne 186:
   * Puppet lit le catalogue et applique chaque ressource à tour de rôle.   * Puppet lit le catalogue et applique chaque ressource à tour de rôle.
  
-Le nom du manifest n'est pas important, par contre l'extention doit être **.pp**+Le nom du manifest n'est pas important, par contre l’extension doit être **.pp**
  
 Appliquez ce fichier avec la commande suivante : Appliquez ce fichier avec la commande suivante :
Ligne 348: Ligne 204:
 </code> </code>
  
-===Modification d'un Fichier Existant sur le Serveur===+==1.1 - Modification d'un Fichier Existant sur le Serveur==
  
 Dans le cas où le fichier existe déjà et son contenu est différent, Puppet écrasera son contenu avec celui du manifest : Dans le cas où le fichier existe déjà et son contenu est différent, Puppet écrasera son contenu avec celui du manifest :
Ligne 364: Ligne 220:
 </code>  </code> 
  
-<WRAP center round important 50%+<WRAP center round important> 
-**Important** - Des modifications manuelles faites donc à un fichier géré par Puppet seront perdues la prochaine fois que Puppet s'exécute, sauf dans le cas où le manifest reflète les mêmes modifications. Pour cette raison, il est une bonne pratique d'insérer un commenataire en début de fichier comme avertissement.+**Important** - Des modifications manuelles faites donc à un fichier géré par Puppet seront perdues la prochaine fois que Puppet s'exécute, sauf dans le cas où le manifest reflète les mêmes modifications. Pour cette raison, il est une bonne pratique d'insérer un commentaire en début de fichier comme avertissement.
 </WRAP> </WRAP>
  
-===Effectuer un Dry Run avec Puppet===+==1.2 - Effectuer un Dry Run avec Puppet==
  
-Il est possible de demander à Puppet, grâce à l'utilisation de l'option **--noop**, de nous informer des modificatiosn qu'il aurait fait en appliquant un manifest, sans que ces modifications soient rééllement effectuées :+Il est possible de demander à Puppet, grâce à l'utilisation de l'option **--noop**, de nous informer des modifications qu'il aurait fait en appliquant un manifest, sans que ces modifications soient réellement effectuées :
  
 <code> <code>
Ligne 404: Ligne 260:
 </code> </code>
  
-====LAB #- Gestion des Paquets====+===LAB #- Gestion des Paquets===
  
-Puppet est capable de gérer les paquets grâce à la ressource **package**. Dans le manifest nous trouvons donc cette ressource, le nom du paquet aqinsi que l'attribut **ensure** : +Puppet est capable de gérer les paquets grâce à la ressource **package**. Dans le manifest nous trouvons donc cette ressource, le nom du paquet ainsi que l'attribut **ensure** : 
  
 <file> <file>
Ligne 426: Ligne 282:
 </code> </code>
  
-<WRAP center round important 50%>+<WRAP center round important>
 **Important** - Le titre de la ressource de type paquet est **cowsay**. **Important** - Le titre de la ressource de type paquet est **cowsay**.
 </WRAP> </WRAP>
Ligne 472: Ligne 328:
 vagrant@ubuntu-xenial:~$ sudo puppet resource package openssl vagrant@ubuntu-xenial:~$ sudo puppet resource package openssl
 package { 'openssl': package { 'openssl':
-  ensure => '1.0.2g-1ubuntu4.12',+  ensure   => '1.0.2g-1ubuntu4.15', 
 +  provider => 'apt',
 } }
 vagrant@ubuntu-xenial:~$ dpkg -s openssl vagrant@ubuntu-xenial:~$ dpkg -s openssl
Ligne 482: Ligne 339:
 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
 Architecture: amd64 Architecture: amd64
-Version: 1.0.2g-1ubuntu4.12+Version: 1.0.2g-1ubuntu4.15
 Depends: libc6 (>= 2.15), libssl1.0.0 (>= 1.0.2g) Depends: libc6 (>= 2.15), libssl1.0.0 (>= 1.0.2g)
 Suggests: ca-certificates Suggests: ca-certificates
Ligne 508: Ligne 365:
 vagrant@ubuntu-xenial:~$ sudo puppet resource package | more vagrant@ubuntu-xenial:~$ sudo puppet resource package | more
 package { 'accountsservice': package { 'accountsservice':
-  ensure => '0.6.40-2ubuntu11.3',+  ensure   => '0.6.40-2ubuntu11.3', 
 +  provider => 'apt',
 } }
 package { 'acl': package { 'acl':
-  ensure => '2.2.52-3',+  ensure   => '2.2.52-3', 
 +  provider => 'apt',
 } }
 package { 'acpid': package { 'acpid':
-  ensure => '1:2.0.26-1ubuntu2',+  ensure   => '1:2.0.26-1ubuntu2', 
 +  provider => 'apt',
 } }
 package { 'adduser': package { 'adduser':
-  ensure => '3.113+nmu3ubuntu4',+  ensure   => '3.113+nmu3ubuntu4', 
 +  provider => 'apt',
 } }
 package { 'apparmor': package { 'apparmor':
-  ensure => '2.10.95-0ubuntu2.9',+  ensure   => '2.10.95-0ubuntu2.11', 
 +  provider => 'apt',
 } }
 package { 'apport': package { 'apport':
-  ensure => '2.20.1-0ubuntu2.17', +  ensure   => '2.20.1-0ubuntu2.21', 
-+  provider => 'apt',
-package { 'apport-symptoms': +
-  ensure => '0.20', +
-+
-package { 'apt': +
-  ensure => '1.2.26',+
 --More-- --More--
 </code> </code>
Ligne 539: Ligne 396:
 </code> </code>
  
-Cette commande génère un manifest pour l'état actuel de la resource et l'ouvre dans un éditeur :+Cette commande génère un manifest pour l'état actuel de la ressource et l'ouvre dans un éditeur :
  
 <file> <file>
 package { 'openssl': package { 'openssl':
-  ensure => '1.0.2g-1ubuntu4.12',+  ensure   => '1.0.2g-1ubuntu4.15', 
 +  provider => 'apt',
 } }
 </file> </file>
Ligne 549: Ligne 407:
 Si vous modifiez ce manifest, lors de l'enregistrement du fichier, Puppet appliquera les modifications. Si vous modifiez ce manifest, lors de l'enregistrement du fichier, Puppet appliquera les modifications.
  
-====LAB #- Gestion des Services====+===LAB #- Gestion des Services===
  
 Le manifest pour la gestion d'un service contient la ressource **service**. Créez le fichier suivant : Le manifest pour la gestion d'un service contient la ressource **service**. Créez le fichier suivant :
Ligne 610: Ligne 468:
 - **enable** - **enable**
     Whether a service should be enabled to start at boot.     Whether a service should be enabled to start at boot.
-    This property behaves quite differently depending on the platform;+    This property behaves differently depending on the platform;
     wherever possible, it relies on local tools to enable or disable     wherever possible, it relies on local tools to enable or disable
-    a given service. +    a given service. Default values depend on the platform
-    Valid values are `true`, `false`, `manual`, `mask`. +    Valid values are `true`, `false`, `manual`, `mask`, `delayed`. 
     Requires features enableable.     Requires features enableable.
  
 - **ensure** - **ensure**
-    Whether a service should be running.+    Whether a service should be running. Default values depend on the 
 +    platform.
     Valid values are `stopped` (also called `false`), `running` (also called     Valid values are `stopped` (also called `false`), `running` (also called
     `true`).      `true`). 
Ligne 629: Ligne 488:
     false and you do not specify a command in the `restart` attribute,     false and you do not specify a command in the `restart` attribute,
     the init script's `stop` and `start` commands will be used.     the init script's `stop` and `start` commands will be used.
-    Defaults to false. +    Valid values are `true`, `false`. 
-Valid values are `true`, `false`. +
  
 - **hasstatus** - **hasstatus**
     Declare whether the service's init script has a functional status     Declare whether the service's init script has a functional status
-    command; defaults to `true`. This attribute's default value changed in +    command. This attribute's default value changed in Puppet 2.7.0.
-    Puppet 2.7.0.+
     The init script's status command must return 0 if the service is     The init script's status command must return 0 if the service is
     running and a nonzero value otherwise. Ideally, these exit codes     running and a nonzero value otherwise. Ideally, these exit codes
Ligne 699: Ligne 556:
 - **stop** - **stop**
     Specify a *stop* command manually.     Specify a *stop* command manually.
 +
 +- **timeout**
 +    Specify an optional minimum timeout (in seconds) for puppet to wait when
 +    syncing service properties
 +Requires features configurable_timeout.
  
 Providers Providers
Ligne 713: Ligne 575:
 These are the types known to puppet: These are the types known to puppet:
 augeas          - Apply a change or an array of changes to the  ... augeas          - Apply a change or an array of changes to the  ...
-computer        - Computer object management using DirectorySer ... 
 cron            - Installs and manages cron jobs cron            - Installs and manages cron jobs
 exec            - Executes external commands exec            - Executes external commands
Ligne 720: Ligne 581:
 group           - Manage groups group           - Manage groups
 host            - Installs and manages host entries host            - Installs and manages host entries
-interface       - This represents a router or switch interface 
-k5login         - Manage the `.k5login` file for a user 
-macauthorization - Manage the Mac OS X authorization database 
-mailalias       - .. no documentation .. 
-maillist        - Manage email lists 
-mcx             - MCX object management using DirectoryService  ... 
 mount           - Manages mounted filesystems, including puttin ... mount           - Manages mounted filesystems, including puttin ...
-nagios_command  - The Nagios type command +notify          - Sends an arbitrary message to the agent run-t ...
-nagios_contact  - The Nagios type contact +
-nagios_contactgroup - The Nagios type contactgroup +
-nagios_host     - The Nagios type host +
-nagios_hostdependency - The Nagios type hostdependency +
-nagios_hostescalation - The Nagios type hostescalation +
-nagios_hostextinfo - The Nagios type hostextinfo +
-nagios_hostgroup - The Nagios type hostgroup +
-nagios_service  - The Nagios type service +
-nagios_servicedependency - The Nagios type servicedependency +
-nagios_serviceescalation - The Nagios type serviceescalation +
-nagios_serviceextinfo - The Nagios type serviceextinfo +
-nagios_servicegroup - The Nagios type servicegroup +
-nagios_timeperiod - The Nagios type timeperiod +
-notify          - .. no documentation ..+
 package         - Manage packages package         - Manage packages
 resources       - This is a metatype that can manage other reso ... resources       - This is a metatype that can manage other reso ...
-router          - .. no documentation .. 
 schedule        - Define schedules for Puppet schedule        - Define schedules for Puppet
 scheduled_task  - Installs and manages Windows Scheduled Tasks scheduled_task  - Installs and manages Windows Scheduled Tasks
Ligne 755: Ligne 595:
 tidy            - Remove unwanted files based on specific crite ... tidy            - Remove unwanted files based on specific crite ...
 user            - Manage users user            - Manage users
-vlan            - .. no documentation .. 
 whit            - Whits are internal artifacts of Puppet's curr ... whit            - Whits are internal artifacts of Puppet's curr ...
 yumrepo         - The client-side description of a yum reposito ... yumrepo         - The client-side description of a yum reposito ...
Ligne 831: Ligne 670:
 </code> </code>
  
-=====Gérer du code Puppet avec Git=====+====Gérer du code Puppet avec Git====
  
 Git est : Git est :
Ligne 839: Ligne 678:
   * distribué selon les termes de la licence publique générale GNU version 2.    * distribué selon les termes de la licence publique générale GNU version 2. 
  
-Quand le code d'un projet est modifié par un développeur, celui-ci procède à un **commit** pour rendre le code disponible aux autres. Un commit est un **snapshot** ou instantanée du repo qui est gardé pour toujours ce qui implique la possibilité de **rollbacks**.+Quand le code d'un projet est modifié par un développeur, celui-ci procède à un **commit** pour rendre le code disponible aux autres. Un commit est un **snapshot** ou instantanée du repository qui est gardé pour toujours ce qui implique la possibilité de **rollbacks**.
  
-<WRAP center round important 50%>+<WRAP center round important>
 **Important** - Pour apprendre comment écrire un message de commit Git, consultez ce lien : **[[https://chris.beams.io/posts/git-commit]]** (en anglais). **Important** - Pour apprendre comment écrire un message de commit Git, consultez ce lien : **[[https://chris.beams.io/posts/git-commit]]** (en anglais).
 </WRAP> </WRAP>
  
-====LAB #- Créer un Repository Local====+Commencez par : 
 + 
 +  * créez votre compte sur **[[https://github.com]]**, 
 +  * puis créez votre **Personal Access Token**. 
 + 
 +Copiez le Personal Access Token car vous en aurez besoin par la suite. 
 + 
 +===LAB #- Créer un Repository Local===
  
 Un jeu de fichiers sous Git est appelé un **repository** ou simplement un **repo**. Pour créer un repo local pour puppet, utilisez les commandes suivantes : Un jeu de fichiers sous Git est appelé un **repository** ou simplement un **repo**. Pour créer un repo local pour puppet, utilisez les commandes suivantes :
Ligne 857: Ligne 703:
 </code> </code>
  
-Git a besoin de savoir qui vous êtes. Saissiez donc les commandes suivantes en remplacant les coordonnées d'identification avec les vôtres :+Git a besoin de savoir qui vous êtes. Saisissez donc les commandes suivantes en remplaçant les coordonnées d'identification avec celles que vous avez utilisé lors de la création de votre compte sur GitHub :
  
 <code> <code>
Ligne 922: Ligne 768:
 </code> </code>
  
-===Les Branches avec Git===+==4.1 - Les Branches avec Git==
  
 Une Branche sous Git est une copie parallèle du code où les modifications sont indépendantes. Ces modification peuvent ensuite être fusionner avec la Branche Maître. Ceci permet : Une Branche sous Git est une copie parallèle du code où les modifications sont indépendantes. Ces modification peuvent ensuite être fusionner avec la Branche Maître. Ceci permet :
  
-  * de connecter un noeud à une branche spécifique pour tester du code, sans l'implémenter sur tous le noeuds,+  * de connecter un nœud à une branche spécifique pour tester du code, sans l'implémenter sur tous le nœuds,
   * à deux ou plusieurs développeurs de travailler d'une manière indépendante puis d'échanger des commits entre les Branches.   * à deux ou plusieurs développeurs de travailler d'une manière indépendante puis d'échanger des commits entre les Branches.
  
 Vous pouvez trouver d'avantage d'informations concernant les Branches de Git à cet URL **[[https://git-scm.com/book/fr/v1/Les-branches-avec-Git-Brancher-et-fusionner%C2%A0%3A-les-bases]]** ainsi que l'ebook gratuit ici - **[[https://git-scm.com/book/fr/v2]]**. Vous pouvez trouver d'avantage d'informations concernant les Branches de Git à cet URL **[[https://git-scm.com/book/fr/v1/Les-branches-avec-Git-Brancher-et-fusionner%C2%A0%3A-les-bases]]** ainsi que l'ebook gratuit ici - **[[https://git-scm.com/book/fr/v2]]**.
  
-====LAB #- Créer un Repository Distant====+===LAB #- Créer un Repository Distant===
  
 Commencez par vous connecter à votre compte sur **[[https://github.com]]**. Créez ensuite un nouveau repo **puppet** à l'adresse **[[https://github.com/new]]**. Commencez par vous connecter à votre compte sur **[[https://github.com]]**. Créez ensuite un nouveau repo **puppet** à l'adresse **[[https://github.com/new]]**.
Ligne 943: Ligne 789:
 vagrant@ubuntu-xenial:~/puppet$ sudo git push -u origin master vagrant@ubuntu-xenial:~/puppet$ sudo git push -u origin master
 Username for 'https://github.com': ittrainingdev Username for 'https://github.com': ittrainingdev
-Password for 'https://ittrainingdev@github.com': +Password for 'https://ittrainingdev@github.com': <collez votre Personal Access Code ici> 
 Counting objects: 3, done. Counting objects: 3, done.
 Writing objects: 100% (3/3), 232 bytes | 0 bytes/s, done. Writing objects: 100% (3/3), 232 bytes | 0 bytes/s, done.
Ligne 953: Ligne 799:
  
 Vérifiez maintenant votre repo sur Github en visitant l'URL de votre repo. Vous devez voir le fichier README.md : Vérifiez maintenant votre repo sur Github en visitant l'URL de votre repo. Vous devez voir le fichier README.md :
- 
-<code> 
-vagrant@ubuntu-xenial:~/puppet$ sudo apt-get install lynx 
- 
-vagrant@ubuntu-xenial:~/puppet$ lynx --dump https://github.com/ittrainingdev/puppet.git 
-... 
- 
-   (BUTTON) Go back 
-   Fetching latest commit… 
-   Cannot retrieve the latest commit at this time. 
-   [39]Permalink 
-   Failed to load latest commit information. 
-   [40]README.md [41]Add README file May 27, 2018 
- 
-README.md 
- 
-   Coming soon! 
- 
-     * © 2018 GitHub, Inc. 
-     * [42]Terms 
-     * [43]Privacy 
-     * [44]Security 
-     * [45]Status 
-     * [46]Help 
- 
-     * [47]Contact GitHub 
-     * [48]API 
-     * [49]Training 
-     * [50]Shop 
-     * [51]Blog 
-     * [52]About 
- 
-... 
-</code> 
  
 {{ :elearning:workbooks:debian:6:senior:puppet1.png?nolink&600 |}} {{ :elearning:workbooks:debian:6:senior:puppet1.png?nolink&600 |}}
  
-====LAB #7 - Cloner un Repository====+===LAB #7 - Cloner un Repository===
  
 Le répertoire par défaut de stockage des manifests de Puppet est **/etc/puppetlabs/code/environments/**.  Le répertoire par défaut de stockage des manifests de Puppet est **/etc/puppetlabs/code/environments/**. 
Ligne 1015: Ligne 827:
 </code> </code>
  
-Git refuse de cloner vers un répertoire non-vide. Renommmez donc le répertoire production :+Git refuse de cloner vers un répertoire non-vide. Renommez donc le répertoire production :
  
 <code> <code>
Ligne 1033: Ligne 845:
 </code> </code>
  
-====LAB #- Appliquer des Modifications Automatiquement====+===LAB #- Appliquer des Modifications Automatiquement===
  
-En production, chaque neoud doit automatiquement télécharger les modifications du code dans le **repo** distant puis les appliquer avec Puppet.+En production, chaque nœud doit automatiquement télécharger les modifications du code dans le **repo** distant puis les appliquer avec Puppet.
  
 Pour arriver à cette fin, il convient de créer un script bash dans le répertoire **/home/vagrant/puppet/files/** : Pour arriver à cette fin, il convient de créer un script bash dans le répertoire **/home/vagrant/puppet/files/** :
Ligne 1067: Ligne 879:
 </code> </code>
  
-<WRAP center round important 50%+<WRAP center round important> 
-**Important** - Ce manifest copie le script **/etc/puppetlabs/code/environments/production/files/run-puppet.sh** dans le répertoire **/usr/local/bin/** du noeud en le nommant **run-puppet** puis crée un cron job qui appel ce script toutes les 15 minutes.+**Important** - Ce manifest copie le script **/etc/puppetlabs/code/environments/production/files/run-puppet.sh** dans le répertoire **/usr/local/bin/** du nœud en le nommant **run-puppet** puis crée un cron job qui appel ce script toutes les 15 minutes.
 </WRAP> </WRAP>
  
Ligne 1093: Ligne 905:
 </code> </code>
  
-====LAB #- Mise en Place sur un Noeud====+===LAB #- Mise en Place sur un Noeud===
  
-Votre noeud se trouve dans le répertoire **/etc/puppetlabs/code/environments/production** :+Votre nœud se trouve dans le répertoire **/etc/puppetlabs/code/environments/production** :
  
 <code> <code>
Ligne 1129: Ligne 941:
 </code> </code>
  
-Appliquez maintenant le mainifest sur le noeud :+Appliquez maintenant le mainifest sur le nœud :
  
 <code> <code>
Ligne 1139: Ligne 951:
 </code> </code>
  
-Vérifiez que le script a été créé sur le noeud :+Vérifiez que le script a été créé sur le nœud :
  
 <code> <code>
Ligne 1152: Ligne 964:
 <code> <code>
 vagrant@ubuntu-xenial:/etc/puppetlabs/code/environments/production$ sudo crontab -l vagrant@ubuntu-xenial:/etc/puppetlabs/code/environments/production$ sudo crontab -l
-# HEADER: This file was autogenerated at 2018-05-27 07:26:05 +0000 by puppet.+# HEADER: This file was autogenerated at 2020-02-11 10:08:47 +0000 by puppet.
 # HEADER: While it can still be managed manually, it is definitely not recommended. # HEADER: While it can still be managed manually, it is definitely not recommended.
 # HEADER: Note particularly that the comments starting with 'Puppet Name' should # HEADER: Note particularly that the comments starting with 'Puppet Name' should
Ligne 1161: Ligne 973:
  
 ---- ----
-<html> +Copyright © 2022 Hugh Norris.
-<DIV ALIGN="CENTER"> +
-Copyright © 2019 Hugh Norris.<br><br> +
-</div> +
-</html>+
Menu