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:centos:8:lcf900:l703 [2023/09/23 16:35] adminelearning:workbooks:centos:8:lcf900:l703 [2024/11/30 10:56] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version - **2023.01**+Version - **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 48: Ligne 48:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que dans ce Rôle nous n'avons besoin que des répertoires **defaults**, **tasks** et **templates**. **Important** : Notez que dans ce Rôle nous n'avons besoin que des répertoires **defaults**, **tasks** et **templates**.
 </WRAP> </WRAP>
Ligne 70: Ligne 70:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le paquet à installer n'est pas explicitement déclaré. Le paquet est référencé par le contenu de la variable **java_package**, elle-même déclarée dans le fichier **main.yaml** du sous-répertoire **defaults** du Rôle. Notez aussi l'utilisation d'un gabarit, appelé **template**, qui fournit le fichier **java.sh** qui doit être copié à l'emplacement **/etc/profile.d/** à partir du sous-répertoire **templates** du Rôle. **Important** : Notez que le paquet à installer n'est pas explicitement déclaré. Le paquet est référencé par le contenu de la variable **java_package**, elle-même déclarée dans le fichier **main.yaml** du sous-répertoire **defaults** du Rôle. Notez aussi l'utilisation d'un gabarit, appelé **template**, qui fournit le fichier **java.sh** qui doit être copié à l'emplacement **/etc/profile.d/** à partir du sous-répertoire **templates** du Rôle.
 </WRAP> </WRAP>
Ligne 84: Ligne 84:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez qu'ici sont déclarées deux variables : **java_home** et **java_package**. **Important** : Notez qu'ici sont déclarées deux variables : **java_home** et **java_package**.
 </WRAP> </WRAP>
Ligne 94: Ligne 94:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Ce fichier ne serait pas normalement vide. Par contre dans ce LAB, nous nous concentrons sur Ansible et seule la présence du fichier est nécessaire pour le bon fonctionnement du LAB. **Important** : Ce fichier ne serait pas normalement vide. Par contre dans ce LAB, nous nous concentrons sur Ansible et seule la présence du fichier est nécessaire pour le bon fonctionnement du LAB.
 </WRAP> </WRAP>
Ligne 106: Ligne 106:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que dans ce Rôle nous n'avons besoin que des répertoires **meta** et **tasks**. **Important** : Notez que dans ce Rôle nous n'avons besoin que des répertoires **meta** et **tasks**.
 </WRAP> </WRAP>
Ligne 130: Ligne 130:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Ce fichier informe Ansible que le Rôle **tomcat** dépend du Rôle **exemple01.java**. **Important** : Ce fichier informe Ansible que le Rôle **tomcat** dépend du Rôle **exemple01.java**.
 </WRAP> </WRAP>
Ligne 146: Ligne 146:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que dans le Play Book, nous appelons **uniquement** le Rôle **tomcat**. **Important** : Notez que dans le Play Book, nous appelons **uniquement** le Rôle **tomcat**.
 </WRAP> </WRAP>
Ligne 238: Ligne 238:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le Rôle **exemple01.java** est traité **avant** le Rôle **tomcat**. **Important** : Notez que le Rôle **exemple01.java** est traité **avant** le Rôle **tomcat**.
 </WRAP> </WRAP>
Ligne 279: Ligne 279:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que cette fois-ci, la valeur de la variable **java_package** spécifiée dans le fichier **/home/trainee/.ansible/roles/exemple01.java/defaults/main.yaml** est sur-chargée par la valeur **tree**. **Important** : Notez que cette fois-ci, la valeur de la variable **java_package** spécifiée dans le fichier **/home/trainee/.ansible/roles/exemple01.java/defaults/main.yaml** est sur-chargée par la valeur **tree**.
 </WRAP> </WRAP>
Ligne 334: Ligne 334:
 Les **Gabarits** ou //Templates// d'Ansible utilisent une bibliothèque Python qui s'appelle **[[http://jinja.pocoo.org/|Jinja2]]**. Les **Gabarits** ou //Templates// d'Ansible utilisent une bibliothèque Python qui s'appelle **[[http://jinja.pocoo.org/|Jinja2]]**.
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La documentation des gabarits se trouvent à cette adresse: **[[https://docs.ansible.com/ansible/latest/modules/template_module.html]]**. **Important** : La documentation des gabarits se trouvent à cette adresse: **[[https://docs.ansible.com/ansible/latest/modules/template_module.html]]**.
 </WRAP> </WRAP>
Ligne 349: Ligne 349:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que dans ce Rôle nous n'avons besoin que des répertoires **defaults**, **handlers**, **tasks** et **templates**. **Important** : Notez que dans ce Rôle nous n'avons besoin que des répertoires **defaults**, **handlers**, **tasks** et **templates**.
 </WRAP> </WRAP>
Ligne 375: Ligne 375:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que l'installation fait appel à un gabarit suivi par un **Handler** qui s'appelle **reload haproxy**. **Important** : Notez que l'installation fait appel à un gabarit suivi par un **Handler** qui s'appelle **reload haproxy**.
 </WRAP> </WRAP>
Ligne 449: Ligne 449:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez l'utilisation de deux variables Ansible dans ce fichier - **%%{{ haproxy_listen_address }}%%** et **%%{{haproxy_listen_port}}%%**. **Important** : Notez l'utilisation de deux variables Ansible dans ce fichier - **%%{{ haproxy_listen_address }}%%** et **%%{{haproxy_listen_port}}%%**.
 </WRAP> </WRAP>
Ligne 594: Ligne 594:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que les valeurs des variables spécifiées dans le fichier **/home/trainee/.ansible/roles/haproxy/defaults/main.yaml** ont été injectées à la place des variables **%%{{ haproxy_listen_address }}%%** et **%%{{haproxy_listen_port}}%%**. **Important** : Notez que les valeurs des variables spécifiées dans le fichier **/home/trainee/.ansible/roles/haproxy/defaults/main.yaml** ont été injectées à la place des variables **%%{{ haproxy_listen_address }}%%** et **%%{{haproxy_listen_port}}%%**.
 </WRAP> </WRAP>
Ligne 626: Ligne 626:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez la condition **%%{% if haproxy_stats %}%%** qui ne tiendra compte des quatre lignes jusqu'à la ligne **%%{% endif %}%%** que dans le cas où la valeur de la variable **haproxy_stats** est **True**. **Important** : Notez la condition **%%{% if haproxy_stats %}%%** qui ne tiendra compte des quatre lignes jusqu'à la ligne **%%{% endif %}%%** que dans le cas où la valeur de la variable **haproxy_stats** est **True**.
 </WRAP> </WRAP>
Ligne 642: Ligne 642:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez qu'Ansible teste si la variable est définie. Par conséquent la variable peut contenir la valeur **True**, **true** voire toute autre chaîne telle que **toto**. **Important** : Notez qu'Ansible teste si la variable est définie. Par conséquent la variable peut contenir la valeur **True**, **true** voire toute autre chaîne telle que **toto**.
 </WRAP> </WRAP>
Ligne 709: Ligne 709:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que les quatre lignes concernant les statistiques ont été incluses dans le fichier. **Important** : Notez que les quatre lignes concernant les statistiques ont été incluses dans le fichier.
 </WRAP> </WRAP>
Ligne 725: Ligne 725:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez qu'Ansible teste si la variable n'est pas définie ou définie avec la valeur de **False** ou **false**. La valeur donc **haproxy_stats:** seule est considérée comme étant fausse.  **Important** : Notez qu'Ansible teste si la variable n'est pas définie ou définie avec la valeur de **False** ou **false**. La valeur donc **haproxy_stats:** seule est considérée comme étant fausse. 
 </WRAP> </WRAP>
Ligne 796: Ligne 796:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que les quatre lignes concernant les statistiques n'ont pas été incluses dans le fichier. **Important** : Notez que les quatre lignes concernant les statistiques n'ont pas été incluses dans le fichier.
 </WRAP> </WRAP>
Ligne 835: Ligne 835:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que la variable **haproxy_backends** est une liste YAML. **Important** : Notez que la variable **haproxy_backends** est une liste YAML.
 </WRAP> </WRAP>
Ligne 1108: Ligne 1108:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Ce gabarit ne contient que des directives générales. Les directives spécifiques au protocole http ont été remplacées par des **blocs** nommés **globals**, **defaults** et **server**. **Important** : Ce gabarit ne contient que des directives générales. Les directives spécifiques au protocole http ont été remplacées par des **blocs** nommés **globals**, **defaults** et **server**.
 </WRAP> </WRAP>
Ligne 1159: Ligne 1159:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que les **blocs** nommés **globals**, **defaults** et **server** contiennent les directives qui seront injectées dans le fichier **haproxy.cfg** aux emplacements des trois blocs respectifs. **Important** : Notez que les **blocs** nommés **globals**, **defaults** et **server** contiennent les directives qui seront injectées dans le fichier **haproxy.cfg** aux emplacements des trois blocs respectifs.
 </WRAP> </WRAP>
Ligne 1277: Ligne 1277:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que les **blocs** nommés **globals**, **defaults** et **server** ont été renseignés. **Important** : Notez que les **blocs** nommés **globals**, **defaults** et **server** ont été renseignés.
 </WRAP> </WRAP>
Ligne 1450: Ligne 1450:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La variable fixée dans **defaults/main.yaml** surcharge la variable fixée dans **tasks/main.yaml**. **Important** : La variable fixée dans **defaults/main.yaml** surcharge la variable fixée dans **tasks/main.yaml**.
 </WRAP> </WRAP>
Ligne 1463: Ligne 1463:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La déclaration de la variable peut être faite dans **roles/group_vars/all** ou dans **roles/group_vars/all.yaml** ou dans un fichier *.yaml dans le répertoire **roles/group_vars/all/**. **Important** : La déclaration de la variable peut être faite dans **roles/group_vars/all** ou dans **roles/group_vars/all.yaml** ou dans un fichier *.yaml dans le répertoire **roles/group_vars/all/**.
 </WRAP> </WRAP>
Ligne 1501: Ligne 1501:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La variable fixée dans **group_vars/all.yaml** surcharge la variable fixée dans **defaults/main.yaml** qui surcharge la variable fixée dans **tasks/main.yaml**. **Important** : La variable fixée dans **group_vars/all.yaml** surcharge la variable fixée dans **defaults/main.yaml** qui surcharge la variable fixée dans **tasks/main.yaml**.
 </WRAP> </WRAP>
Ligne 1550: Ligne 1550:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La variable fixée dans **playbook.yaml** surcharge la variable fixée dans **group_vars/all.yaml** qui surcharge la variable fixée dans **defaults/main.yaml** qui surcharge la variable fixée dans **tasks/main.yaml**. **Important** : La variable fixée dans **playbook.yaml** surcharge la variable fixée dans **group_vars/all.yaml** qui surcharge la variable fixée dans **defaults/main.yaml** qui surcharge la variable fixée dans **tasks/main.yaml**.
 </WRAP> </WRAP>
Ligne 1649: Ligne 1649:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que la valeur de la variable **endroit** spécifiée dans le fichier **group_vars/all.yaml** s'applique à tous les groupes **et** à tous les hôtes. **Important** : Notez que la valeur de la variable **endroit** spécifiée dans le fichier **group_vars/all.yaml** s'applique à tous les groupes **et** à tous les hôtes.
 </WRAP> </WRAP>
Ligne 1719: Ligne 1719:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La variable fixée dans **group_vars/group1.yaml** surcharge la variable fixée dans **group_vars/all.yaml**. **Important** : La variable fixée dans **group_vars/group1.yaml** surcharge la variable fixée dans **group_vars/all.yaml**.
 </WRAP> </WRAP>
Ligne 1771: Ligne 1771:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La variable fixée dans **host_vars/localhost.yaml** surcharge la variable fixée dans **group_vars/group1.yaml** qui surcharge la variable fixée dans **group_vars/all.yaml**. **Important** : La variable fixée dans **host_vars/localhost.yaml** surcharge la variable fixée dans **group_vars/group1.yaml** qui surcharge la variable fixée dans **group_vars/all.yaml**.
 </WRAP> </WRAP>
Ligne 1814: Ligne 1814:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La variable fixée dans sur la **ligne de commande** surcharge toutes les autres variables. **Important** : La variable fixée dans sur la **ligne de commande** surcharge toutes les autres variables.
 </WRAP> </WRAP>
Ligne 1888: Ligne 1888:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le nom de chaque **Fact** commence par **ansible_**. Évitez donc de créer des variables commençant var cette valeur ! **Important** : Notez que le nom de chaque **Fact** commence par **ansible_**. Évitez donc de créer des variables commençant var cette valeur !
 </WRAP> </WRAP>
Ligne 1963: Ligne 1963:
   roles:    roles: 
     - exemple01.java      - exemple01.java 
-</code> 
- 
-Connectez-vous à la machine TargetA et supprimez le paquet **openjdk-8-jre** : 
- 
-<code> 
-trainee@debian11:~/.ansible/roles$ ssh 10.0.2.52 
-Debian GNU/Linux 9 
-Linux targeta.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 
- 
-The programs included with the Debian GNU/Linux system are free software; 
-the exact distribution terms for each program are described in the 
-individual files in /usr/share/doc/*/copyright. 
- 
-Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent 
-permitted by applicable law. 
-Last login: Wed Mar  9 11:29:25 2022 from 10.0.2.45 
-trainee@targeta:~$ sudo apt-get -y remove openjdk-8-jre 
-... 
-trainee@targeta:~$ exit 
-déconnexion 
-Connection to 10.0.2.52 closed. 
-trainee@debian11:~/.ansible/roles$ 
 </code> </code>
  
Ligne 1992: Ligne 1970:
 trainee@debian11:~/.ansible/roles$ cd ~ trainee@debian11:~/.ansible/roles$ cd ~
 trainee@debian11:~$ scp .ssh/authorized_keys trainee@10.0.2.53:/home/trainee/.ssh/authorized_keys trainee@debian11:~$ scp .ssh/authorized_keys trainee@10.0.2.53:/home/trainee/.ssh/authorized_keys
-trainee@10.0.2.53's password: +trainee@10.0.2.53's password: trainee
 authorized_keys                                                                                                                                                                 100%  888     8.9KB/  00:00     authorized_keys                                                                                                                                                                 100%  888     8.9KB/  00:00    
 trainee@debian11:~$ cd - trainee@debian11:~$ cd -
 /home/trainee/.ansible/roles /home/trainee/.ansible/roles
-trainee@debian11:~/.ansible/roles$  
-</code> 
- 
-Connectez-vous à la machine TargetB et supprimez le paquet **java-1.8.0-openjdk** : 
- 
-<code> 
-trainee@debian11:~/.ansible/roles$ ssh 10.0.2.53 
-Last login: Wed Mar  9 16:51:41 2022 from 10.0.2.45 
-[trainee@targetb ~]$ sudo yum -y remove java-1.8.0-openjdk 
-... 
-[trainee@targetb ~]$ exit 
-logout 
-Connection to 10.0.2.53 closed. 
 trainee@debian11:~/.ansible/roles$  trainee@debian11:~/.ansible/roles$ 
 </code> </code>
Ligne 2108: Ligne 2073:
 Lecture des informations d'état... Fait Lecture des informations d'état... Fait
 353 packages can be upgraded. Run 'apt list --upgradable' to see them. 353 packages can be upgraded. Run 'apt list --upgradable' to see them.
 +</code>
  
 +Supprimez le paquet **openjdk-8-jre** :
 +
 +<code>
 +trainee@targeta:~$ sudo apt-get -y remove openjdk-8-jre
 +...
 trainee@targeta:~$ exit trainee@targeta:~$ exit
 déconnexion déconnexion
Ligne 2147: Ligne 2118:
 (6/6): updates/7/x86_64/filelists_db                                                                                                                                                       | 7.8 MB  00:00:00      (6/6): updates/7/x86_64/filelists_db                                                                                                                                                       | 7.8 MB  00:00:00     
 Metadata Cache Created Metadata Cache Created
 +</code>
  
 +Supprimez le paquet **java-1.8.0-openjdk** :
 +
 +<code>
 +[trainee@targetb ~]$ sudo yum -y remove java-1.8.0-openjdk
 +...
 [trainee@targetb ~]$ exit [trainee@targetb ~]$ exit
 logout logout
Ligne 2238: Ligne 2215:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : L'exécution démontre que la variable **secret** est bien lue. **Important** : L'exécution démontre que la variable **secret** est bien lue.
 </WRAP> </WRAP>
Ligne 2254: Ligne 2231:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair.
 </WRAP> </WRAP>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le mot de passe est pour la commande **ansible-vault** et non pas uniquement pour l'action de cryptage en cours. **Important** : Notez que le mot de passe est pour la commande **ansible-vault** et non pas uniquement pour l'action de cryptage en cours.
 </WRAP> </WRAP>
Ligne 2283: Ligne 2260:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez l'erreur due au fait que le fichier a été crypté. **Important** : Notez l'erreur due au fait que le fichier a été crypté.
 </WRAP> </WRAP>
Ligne 2311: Ligne 2288:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair.
 </WRAP> </WRAP>
Ligne 2324: Ligne 2301:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair.
 </WRAP> </WRAP>
Ligne 2392: Ligne 2369:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair.
 </WRAP> </WRAP>
Ligne 2406: Ligne 2383:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair.
 </WRAP> </WRAP>
Ligne 2511: Ligne 2488:
 =====LAB #6 - Ansible par la Pratique===== =====LAB #6 - Ansible par la Pratique=====
  
-Connectez-vous à la machine virtuelle **CentOS_7** +Connectez-vous à la machine virtuelle **CentOS7_10.0.2.51_SSH**.
- +
-<code> +
-trainee@traineeXX:~$ ssh -l trainee centos7 +
-</code>+
  
 ====6.1 - Instructions ==== ====6.1 - Instructions ====
Ligne 2758: Ligne 2731:
  
 <code> <code>
-[root@centos7 ~]# mv user.yml users.yml  
 [root@centos7 ~]# ansible-playbook vsftpd.yml [root@centos7 ~]# ansible-playbook vsftpd.yml
 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
Ligne 2957: Ligne 2929:
 ----- -----
  
-Copyright © 2023 Hugh Norris.+Copyright © 2024 Hugh Norris.
Menu