Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:debian:6:avance:l129:part4 [2020/02/12 10:56] – admin | elearning:workbooks:debian:6:avance:l129:part4 [2022/06/22 08:56] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Version : **2020.01** | ||
- | |||
~~PDF: | ~~PDF: | ||
+ | |||
+ | Version : **2022.01** | ||
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
Ligne 7: | Ligne 7: | ||
======DOF404 - Hiera et Modules====== | ======DOF404 - Hiera et Modules====== | ||
- | =====Hiera===== | + | =====Contenu du Module===== |
- | ====Préparation==== | + | * **DOF404 - Hiera et Modules** |
+ | * Contenu du Module | ||
+ | * Préparation | ||
+ | * Hiera | ||
+ | * Présentation | ||
+ | * LAB #1 - Environnements | ||
+ | * LAB #2 -Les Types de Données Hiera | ||
+ | * LAB #3 - Interpolation | ||
+ | * Les Sources de Données basées sur des Facts | ||
+ | * LAB #4 -Créer des Ressources avec les Données d' | ||
+ | * LAB #5 - Gérer des Données Secrètes | ||
+ | * Modules | ||
+ | * LAB #6 - Installer des Modules | ||
+ | * LAB #7 - Utilisation des Modules | ||
+ | * puppetlabs/ | ||
+ | * puppetlabs/ | ||
+ | * puppet/ | ||
- | ===Sous Debian/ | + | =====Préparation===== |
+ | |||
+ | Re-créez la machine virtuelle Puppet : | ||
< | < | ||
- | trainee@puppet:~$ cd puppet-beginners-guide-3 | + | desktop@serverXX:~$ cd puppet-beginners-guide-3 |
- | trainee@puppet: | + | desktop@serverXX: |
- | trainee@puppet: | + | desktop@serverXX: |
- | trainee@puppet: | + | desktop@serverXX: |
</ | </ | ||
- | ===Sous Windows=== | + | =====Hiera===== |
- | + | ||
- | Exécutez **cmd** et saisissez les commandes suivantes : | + | |
- | + | ||
- | < | + | |
- | Microsoft Windows [version 10.0.16299.431] | + | |
- | (c) 2017 Microsoft Corporation. Tous droits réservés. | + | |
- | + | ||
- | C: | + | |
- | + | ||
- | C: | + | |
- | + | ||
- | C: | + | |
- | + | ||
- | C: | + | |
- | + | ||
- | C: | + | |
- | </ | + | |
====Présentation==== | ====Présentation==== | ||
- | Le manifest suivant stipule la version de l' | + | Le manifest suivant stipule la version de l' |
< | < | ||
Ligne 49: | Ligne 50: | ||
</ | </ | ||
- | Quand une mise à jour devient disponible, ce code doit être trouvé et modifié sur l' | + | Quand une mise à jour devient disponible, ce code doit être trouvé et modifié sur l' |
Qui plus est, la mise à jour des données dans les manifests ne concerne pas uniquement les paquets mais aussi, par exemple, les : | Qui plus est, la mise à jour des données dans les manifests ne concerne pas uniquement les paquets mais aussi, par exemple, les : | ||
Ligne 59: | Ligne 60: | ||
* valeurs des configurations telles la quantité de mémoire allouée à un serveur de base de données. | * valeurs des configurations telles la quantité de mémoire allouée à un serveur de base de données. | ||
- | Hiera permet de gérer les données indépendamment du code Puppet et de spécifier des valeurs différentes par noeud en fonction, par exemple, du nom d' | + | Hiera permet de gérer les données indépendamment du code Puppet et de spécifier des valeurs différentes par noeud en fonction, par exemple, du nom d' |
Puppet peut ensuite consulter les informations en utilisant **lookup** : | Puppet peut ensuite consulter les informations en utilisant **lookup** : | ||
Ligne 69: | Ligne 70: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - **lookup** a besoin du nom de la clef Hiera, par exemple **backup_path**, | **Important** - **lookup** a besoin du nom de la clef Hiera, par exemple **backup_path**, | ||
</ | </ | ||
Ligne 90: | Ligne 91: | ||
</ | </ | ||
- | Prenons le cas d'un fichier de configuration hiera.yaml | + | Prenons le cas d'un fichier de configuration hiera.yaml |
< | < | ||
Ligne 125: | Ligne 126: | ||
</ | </ | ||
- | ====LAB #20 - Environnements==== | + | ====LAB #1 - Environnements==== |
Un environnement est un répertoire contenant : | Un environnement est un répertoire contenant : | ||
Ligne 262: | Ligne 263: | ||
</ | </ | ||
- | ====LAB #21 -Les Types de Données Hiera==== | + | ====LAB #2 -Les Types de Données Hiera==== |
Dans le fichier **/ | Dans le fichier **/ | ||
Ligne 375: | Ligne 376: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Une valeur booléenne doit être soit **true**, soit **false**. | **Important** - Une valeur booléenne doit être soit **true**, soit **false**. | ||
</ | </ | ||
Ligne 403: | Ligne 404: | ||
</ | </ | ||
- | Chaque clef du Hash possède son propre nom et est indéntée | + | Chaque clef du Hash possède son propre nom et est indentée |
Pour mieux comprendre, créez le fichier **lookup_hash.pp** : | Pour mieux comprendre, créez le fichier **lookup_hash.pp** : | ||
Ligne 459: | Ligne 460: | ||
</ | </ | ||
- | ====LAB #22 - Interpolation==== | + | ====LAB #3 - Interpolation==== |
L' | L' | ||
Ligne 496: | Ligne 497: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - La priorité des sources est descendante. Si la valeur d'une clef est spécifiée dans deux sources et les valeurs sont différentes, | **Important** - La priorité des sources est descendante. Si la valeur d'une clef est spécifiée dans deux sources et les valeurs sont différentes, | ||
</ | </ | ||
Ligne 514: | Ligne 515: | ||
* **Hash Merge** - retourne un Hash contenant toutes les clefs et toutes les valeurs correspondantes qui correspondent à la recherche, | * **Hash Merge** - retourne un Hash contenant toutes les clefs et toutes les valeurs correspondantes qui correspondent à la recherche, | ||
* **Shallow Merge** - si Hiera retrouve deux Hash avec le même nom, il retourne uniquement le premier Hash, | * **Shallow Merge** - si Hiera retrouve deux Hash avec le même nom, il retourne uniquement le premier Hash, | ||
- | * **Deep merge** - permet de considerer | + | * **Deep merge** - permet de considérer |
- | ==Les Sources de Données basées sur des Facts== | + | ===Les Sources de Données basées sur des Facts=== |
Revenons au fichier **/ | Revenons au fichier **/ | ||
Ligne 556: | Ligne 557: | ||
</ | </ | ||
- | Ces deux lignes permettent d' | + | Ces deux lignes permettent d' |
De même les deux lignes suivantes : | De même les deux lignes suivantes : | ||
Ligne 569: | Ligne 570: | ||
permettent une configuration différente par version du système d' | permettent une configuration différente par version du système d' | ||
- | ====LAB #23 -Créer des Ressources avec le Données d' | + | ====LAB #4 -Créer des Ressources avec les Données d' |
Commencez par créer le fichier **hiera_users.pp** : | Commencez par créer le fichier **hiera_users.pp** : | ||
Ligne 683: | Ligne 684: | ||
</ | </ | ||
- | ====LAB #24 - Gérer des Données Secrètes==== | + | ====LAB #5 - Gérer des Données Secrètes==== |
Souvent Puppet a besoin d' | Souvent Puppet a besoin d' | ||
Ligne 717: | Ligne 718: | ||
Processing triggers for ureadahead (0.100.0-19.1) ... | Processing triggers for ureadahead (0.100.0-19.1) ... | ||
Processing triggers for systemd (229-4ubuntu21.23) ... | Processing triggers for systemd (229-4ubuntu21.23) ... | ||
+ | </ | ||
+ | |||
+ | Si la version installée de ruby est inférieure à la 2.5.0, mettez à jour ruby : | ||
+ | |||
+ | < | ||
+ | vagrant@ubuntu-xenial: | ||
+ | vagrant@ubuntu-xenial: | ||
+ | vagrant@ubuntu-xenial: | ||
+ | vagrant@ubuntu-xenial: | ||
+ | vagrant@ubuntu-xenial: | ||
+ | </ | ||
+ | |||
+ | Installez ensuite le support gpg pour Hiera : | ||
+ | |||
+ | < | ||
+ | vagrant@ubuntu-xenial: | ||
</ | </ | ||
Ligne 867: | Ligne 884: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Utilisez l' | **Important** - Utilisez l' | ||
</ | </ | ||
Ligne 887: | Ligne 904: | ||
</ | </ | ||
- | Editez | + | Éditez |
< | < | ||
Ligne 915: | Ligne 932: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - **ENC** indique à Hiera que ce fichier est crypté. GPG indique à Hiera quel type de cryptage. | **Important** - **ENC** indique à Hiera que ce fichier est crypté. GPG indique à Hiera quel type de cryptage. | ||
</ | </ | ||
Ligne 935: | Ligne 952: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Utilisez l' | **Important** - Utilisez l' | ||
</ | </ | ||
Ligne 980: | Ligne 997: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Notez la modification automatique de la ligne **test_secret: | **Important** - Notez la modification automatique de la ligne **test_secret: | ||
</ | </ | ||
- | Ajoutez maintenant un dexième | + | Ajoutez maintenant un deuxième |
< | < | ||
Ligne 1010: | Ligne 1027: | ||
</ | </ | ||
- | Dernièrement il faut copier la clef GPG a chaque | + | Dernièrement il faut copier la clef GPG a chaque |
< | < | ||
Ligne 1080: | Ligne 1097: | ||
</ | </ | ||
- | Sur les autres | + | Sur les autres |
< | < | ||
Ligne 1117: | Ligne 1134: | ||
Les modules sont regroupés en deux groupes : | Les modules sont regroupés en deux groupes : | ||
- | * **Supported** - les modules | + | * **Supported** - les modules |
* URL - **[[https:// | * URL - **[[https:// | ||
- | * **Approved** - les modules ne beneficient | + | * **Approved** - les modules ne bénéficient |
* URL - **[[https:// | * URL - **[[https:// | ||
- | ====LAB #25 - Installer des Modules==== | + | ====LAB #6 - Installer des Modules==== |
Le gestionnaire de modules de Puppet s' | Le gestionnaire de modules de Puppet s' | ||
Ligne 1153: | Ligne 1170: | ||
* la variable **forge** spécifie le repository à utiliser, | * la variable **forge** spécifie le repository à utiliser, | ||
- | * la variable **mod** | + | * la variable **mod** |
Supprimez les trois dernières lignes du fichier **Puppetfile** : | Supprimez les trois dernières lignes du fichier **Puppetfile** : | ||
Ligne 1205: | Ligne 1222: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - La fonction **upcase** fait partie du module **stdlib**. | **Important** - La fonction **upcase** fait partie du module **stdlib**. | ||
</ | </ | ||
Ligne 1343: | Ligne 1360: | ||
</ | </ | ||
- | ====LAB #26 - Utilisation des Modules==== | + | ====LAB #7 - Utilisation des Modules==== |
===puppetlabs/ | ===puppetlabs/ | ||
Ligne 1386: | Ligne 1403: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Le mot de passe de root pour MySQL **hairline-quotient-inside-tableful** est ici en clair. En production, ce mot de passe serait crypté comme nous avons déjà vu. | **Important** - Le mot de passe de root pour MySQL **hairline-quotient-inside-tableful** est ici en clair. En production, ce mot de passe serait crypté comme nous avons déjà vu. | ||
</ | </ | ||
Ligne 1401: | Ligne 1418: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Le nom de la ressource **cat_pictures** est le nom de la base de données. Les attributs **user**, **password**, | **Important** - Le nom de la ressource **cat_pictures** est le nom de la base de données. Les attributs **user**, **password**, | ||
</ | </ | ||
Ligne 1500: | Ligne 1517: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - **apache:: | **Important** - **apache:: | ||
</ | </ | ||
Ligne 1515: | Ligne 1532: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Le nom de la ressource **cat-pictures.com** est le nom de domaine de l' | **Important** - Le nom de la ressource **cat-pictures.com** est le nom de domaine de l' | ||
</ | </ | ||
Ligne 1529: | Ligne 1546: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Cette ressource crée le fichier **/ | **Important** - Cette ressource crée le fichier **/ | ||
</ | </ | ||
Ligne 1572: | Ligne 1589: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
- | **Important** - La première ressource est de type **file**. Cette ressource crée si necéssaire | + | **Important** - La première ressource est de type **file**. Cette ressource crée si nécessaire |
</ | </ | ||
Ligne 1589: | Ligne 1606: | ||
</ | </ | ||
- | <WRAP center round important | + | <WRAP center round important> |
**Important** - Le nom de la ressource **/ | **Important** - Le nom de la ressource **/ | ||
</ | </ | ||
Ligne 1610: | Ligne 1627: | ||
---- | ---- | ||
- | < | + | |
- | <DIV ALIGN=" | + | Copyright © 2022 Hugh Norris. |
- | Copyright © 2020 Hugh Norris.< | + | |
- | </ | + | |
- | </ | + |