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.< | + | |
| - | </ | + | |
| - | </ | + | |