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/20 15:14] 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~~
  
-====== LCF803 - Rôles, Gabarits, Variables et Facts======+====== LDF903 - Rôles, Gabarits, Variables et Facts======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **LCF803 - Rôles, Gabarits, Variables et Facts**+  * **LDF903 - Rôles, Gabarits, Variables et Facts**
     * Contenu du Module     * Contenu du Module
     * LAB #1 - Dépendances de Rôles     * LAB #1 - Dépendances de Rôles
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 190: Ligne 190:
 │       ├── Debian-10.yml │       ├── Debian-10.yml
 │       ├── Debian-11.yml │       ├── Debian-11.yml
 +│       ├── Debian-12.yml
 │       ├── Debian-8.yml │       ├── Debian-8.yml
 │       ├── Debian-9.yml │       ├── Debian-9.yml
Ligne 196: Ligne 197:
 │       ├── RedHat-7.yml │       ├── RedHat-7.yml
 │       ├── RedHat-8.yml │       ├── RedHat-8.yml
 +│       ├── RedHat-9.yml
 │       ├── Ubuntu-12.yml │       ├── Ubuntu-12.yml
 │       ├── Ubuntu-14.yml │       ├── Ubuntu-14.yml
 │       ├── Ubuntu-16.yml │       ├── Ubuntu-16.yml
 │       ├── Ubuntu-18.yml │       ├── Ubuntu-18.yml
-│       ── Ubuntu-20.yml+│       ── Ubuntu-20.yml 
 +│       └── Ubuntu-22.yml
 ├── inventory ├── inventory
 ├── playbook.yaml ├── playbook.yaml
Ligne 209: Ligne 212:
         └── main.yaml         └── main.yaml
  
-15 directories, 31 files+15 directories, 34 files
 </code> </code>
  
Ligne 217: Ligne 220:
 trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l web01 trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l web01
  
-PLAY [all] *******************************************************************************************************************************************************************************************************+PLAY [all] ***************************************************************************************************************************************************************************************************
  
-TASK [Gathering Facts] *******************************************************************************************************************************************************************************************+TASK [Gathering Facts] ***************************************************************************************************************************************************************************************
 ok: [web01] ok: [web01]
  
-TASK [exemple01.java : install jre] ******************************************************************************************************************************************************************************+TASK [exemple01.java : install jre] **************************************************************************************************************************************************************************
 ok: [web01] ok: [web01]
  
-TASK [exemple01.java : configure java home] **********************************************************************************************************************************************************************+TASK [exemple01.java : configure java home] ******************************************************************************************************************************************************************
 changed: [web01] changed: [web01]
  
-TASK [tomcat : install tomcat] ***********************************************************************************************************************************************************************************+TASK [tomcat : install tomcat] *******************************************************************************************************************************************************************************
 changed: [web01] changed: [web01]
  
-PLAY RECAP *******************************************************************************************************************************************************************************************************+PLAY RECAP ***************************************************************************************************************************************************************************************************
 web01                      : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0    web01                      : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
 </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 252: Ligne 255:
 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
 permitted by applicable law. permitted by applicable law.
-Last login: Wed Mar  9 13:49:26 2022 from 10.0.2.45+Last login: Sat Sep 23 18:10:50 2023 from 10.0.2.46
 trainee@web01:~$ systemctl status tomcat8 trainee@web01:~$ systemctl status tomcat8
 ● tomcat8.service - LSB: Start Tomcat. ● tomcat8.service - LSB: Start Tomcat.
    Loaded: loaded (/etc/init.d/tomcat8; generated; vendor preset: enabled)    Loaded: loaded (/etc/init.d/tomcat8; generated; vendor preset: enabled)
-   Active: active (running) since Wed 2022-03-09 13:50:11 CET; 1min 13s ago+   Active: active (running) since Sat 2023-09-23 18:11:29 CEST; 1min 7s ago
      Docs: man:systemd-sysv-generator(8)      Docs: man:systemd-sysv-generator(8)
    CGroup: /system.slice/tomcat8.service    CGroup: /system.slice/tomcat8.service
-           └─11904 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headle+           └─25102 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.he
 trainee@web01:~$ exit trainee@web01:~$ exit
 déconnexion déconnexion
Ligne 276: 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 285: Ligne 288:
 trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l web02 trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l web02
  
-PLAY [all] *******************************************************************************************************************************************************************************************************+PLAY [all] ***************************************************************************************************************************************************************************************************
  
-TASK [Gathering Facts] *******************************************************************************************************************************************************************************************+TASK [Gathering Facts] ***************************************************************************************************************************************************************************************
 ok: [web02] ok: [web02]
  
-TASK [exemple01.java : install jre] ******************************************************************************************************************************************************************************+TASK [exemple01.java : install jre] **************************************************************************************************************************************************************************
 changed: [web02] changed: [web02]
  
-TASK [exemple01.java : configure java home] **********************************************************************************************************************************************************************+TASK [exemple01.java : configure java home] ******************************************************************************************************************************************************************
 changed: [web02] changed: [web02]
  
-TASK [tomcat : install tomcat] ***********************************************************************************************************************************************************************************+TASK [tomcat : install tomcat] *******************************************************************************************************************************************************************************
 changed: [web02] changed: [web02]
  
-PLAY RECAP ******************************************************************************************************************************************************************************************************* +PLAY RECAP *************************************************************************************************************************************************************************************************** 
-web02                      : ok=4    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0    +web02                      : ok=4    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0     
 </code> </code>
  
Ligne 316: Ligne 319:
 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
 permitted by applicable law. permitted by applicable law.
-Last login: Wed Mar  9 13:53:57 2022 from 10.0.2.45+Last login: Sat Sep 23 18:14:46 2023 from 10.0.2.46
 trainee@web02:~$ which tree trainee@web02:~$ which tree
 /usr/bin/tree /usr/bin/tree
Ligne 322: Ligne 325:
 déconnexion déconnexion
 Connection to web02 closed. Connection to web02 closed.
-trainee@debian11:~/.ansible/roles$ ssh web03 +trainee@debian11:~/.ansible/roles$
-Debian GNU/Linux 9 +
-Linux web03.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 12:12:51 2022 from 10.0.2.45 +
-trainee@web03:~$ which tree +
-trainee@web03:~$ exit +
-déconnexion +
-Connection to web03 closed. +
-trainee@debian11:~/.ansible/roles$ +
 </code> </code>
  
Ligne 344: Ligne 332:
 ====2.1 - Variables==== ====2.1 - Variables====
  
-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 361: 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 387: 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 461: 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 494: Ligne 482:
 trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l equilibrage trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l equilibrage
  
-PLAY [all] *******************************************************************************************************************************************************************************************************+PLAY [all] ***************************************************************************************************************************************************************************************************
  
-TASK [Gathering Facts] *******************************************************************************************************************************************************************************************+TASK [Gathering Facts] ***************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-TASK [haproxy : install] *****************************************************************************************************************************************************************************************+TASK [haproxy : install] *************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-TASK [haproxy : configure] ***************************************************************************************************************************************************************************************+TASK [haproxy : configure] ***********************************************************************************************************************************************************************************
 changed: [web04] changed: [web04]
  
-TASK [haproxy : service] *****************************************************************************************************************************************************************************************+TASK [haproxy : service] *************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-RUNNING HANDLER [haproxy : reload haproxy] ***********************************************************************************************************************************************************************+RUNNING HANDLER [haproxy : reload haproxy] *******************************************************************************************************************************************************************
 changed: [web04] changed: [web04]
  
-PLAY RECAP ******************************************************************************************************************************************************************************************************* +PLAY RECAP *************************************************************************************************************************************************************************************************** 
-web04                      : ok=5    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   +web04                      : ok=5    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0    
 </code> </code>
  
Ligne 528: Ligne 516:
 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
 permitted by applicable law. permitted by applicable law.
-Last login: Wed Mar  9 15:23:48 2022 from 10.0.2.45+Last login: Sat Sep 23 18:24:17 2023 from 10.0.2.46
  
 trainee@web04:~$ systemctl status haproxy trainee@web04:~$ systemctl status haproxy
 ● haproxy.service - HAProxy Load Balancer ● haproxy.service - HAProxy Load Balancer
    Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)    Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
-   Active: active (running) since Wed 2022-03-09 12:03:47 CET3h 20min ago+   Active: active (running) since Wed 2023-09-20 15:39:42 CEST3 days ago
      Docs: man:haproxy(1)      Docs: man:haproxy(1)
            file:/usr/share/doc/haproxy/configuration.txt.gz            file:/usr/share/doc/haproxy/configuration.txt.gz
-  Process: 9089 ExecReload=/bin/kill -USR2 $MAINPID (code=exited, status=0/SUCCESS) +  Process: 16494 ExecReload=/bin/kill -USR2 $MAINPID (code=exited, status=0/SUCCESS) 
-  Process: 9087 ExecReload=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS) +  Process: 16492 ExecReload=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS) 
- Main PID: 5394 (haproxy-systemd)+ Main PID: 2970 (haproxy-systemd)
     Tasks: 3 (limit: 4915)     Tasks: 3 (limit: 4915)
    CGroup: /system.slice/haproxy.service    CGroup: /system.slice/haproxy.service
-           ├─5394 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid +           ├─ 2970 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid 
-           ├─9091 /usr/sbin/haproxy-master +           ├─16500 /usr/sbin/haproxy-master 
-           └─9093 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds -sf 5400+           └─16501 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds -sf 2975
  
 trainee@web04:~$ cat /etc/haproxy/haproxy.cfg trainee@web04:~$ cat /etc/haproxy/haproxy.cfg
Ligne 606: 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 638: 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 654: 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 663: Ligne 651:
 trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l equilibrage trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l equilibrage
  
-PLAY [all] *******************************************************************************************************************************************************************************************************+PLAY [all] ***************************************************************************************************************************************************************************************************
  
-TASK [Gathering Facts] *******************************************************************************************************************************************************************************************+TASK [Gathering Facts] ***************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-TASK [haproxy : install] *****************************************************************************************************************************************************************************************+TASK [haproxy : install] *************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-TASK [haproxy : configure] ***************************************************************************************************************************************************************************************+TASK [haproxy : configure] ***********************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-TASK [haproxy : service] *****************************************************************************************************************************************************************************************+TASK [haproxy : service] *************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-PLAY RECAP ******************************************************************************************************************************************************************************************************* +PLAY RECAP *************************************************************************************************************************************************************************************************** 
-web04                      : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0  +web04                      : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
 </code> </code>
  
Ligne 695: Ligne 683:
 permitted by applicable law. permitted by applicable law.
 Last login: Wed Mar  9 15:29:27 2022 from 10.0.2.45 Last login: Wed Mar  9 15:29:27 2022 from 10.0.2.45
 +
 trainee@web04:~$ tail -n 17 /etc/haproxy/haproxy.cfg trainee@web04:~$ tail -n 17 /etc/haproxy/haproxy.cfg
         errorfile 504 /etc/haproxy/errors/504.http         errorfile 504 /etc/haproxy/errors/504.http
Ligne 713: Ligne 702:
     server web02 10.0.2.55:8080 check     server web02 10.0.2.55:8080 check
     server web03 10.0.2.56:8080 check     server web03 10.0.2.56:8080 check
 +
 trainee@web04:~$ exit trainee@web04:~$ exit
 déconnexion déconnexion
Ligne 719: 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 735: 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 745: Ligne 735:
 trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l equilibrage trainee@debian11:~/.ansible/roles$ ansible-playbook -i inventory playbook.yaml -l equilibrage
  
-PLAY [all] *******************************************************************************************************************************************************************************************************+PLAY [all] ***************************************************************************************************************************************************************************************************
  
-TASK [Gathering Facts] *******************************************************************************************************************************************************************************************+TASK [Gathering Facts] ***************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-TASK [haproxy : install] *****************************************************************************************************************************************************************************************+TASK [haproxy : install] *************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-TASK [haproxy : configure] ***************************************************************************************************************************************************************************************+TASK [haproxy : configure] ***********************************************************************************************************************************************************************************
 changed: [web04] changed: [web04]
  
-TASK [haproxy : service] *****************************************************************************************************************************************************************************************+TASK [haproxy : service] *************************************************************************************************************************************************************************************
 ok: [web04] ok: [web04]
  
-RUNNING HANDLER [haproxy : reload haproxy] ***********************************************************************************************************************************************************************+RUNNING HANDLER [haproxy : reload haproxy] *******************************************************************************************************************************************************************
 changed: [web04] changed: [web04]
  
-PLAY RECAP ******************************************************************************************************************************************************************************************************* +PLAY RECAP *************************************************************************************************************************************************************************************************** 
-web04                      : ok=5    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 +web04                      : ok=5    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
 </code> </code>
  
Ligne 779: Ligne 769:
 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
 permitted by applicable law. permitted by applicable law.
-Last login: Wed Mar  9 15:32:20 2022 from 10.0.2.45+Last login: Sat Sep 23 18:31:28 2023 from 10.0.2.46 
 trainee@web04:~$ tail -n 17 /etc/haproxy/haproxy.cfg trainee@web04:~$ tail -n 17 /etc/haproxy/haproxy.cfg
         errorfile 408 /etc/haproxy/errors/408.http         errorfile 408 /etc/haproxy/errors/408.http
Ligne 798: Ligne 789:
     server web02 10.0.2.55:8080 check     server web02 10.0.2.55:8080 check
     server web03 10.0.2.56:8080 check     server web03 10.0.2.56:8080 check
 +
 trainee@web04:~$ exit trainee@web04:~$ exit
 déconnexion déconnexion
 Connection to web04 closed. Connection to web04 closed.
-trainee@debian11:~/.ansible/roles$ +trainee@debian11:~/.ansible/roles$
 </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 843: 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 1116: 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 1167: 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 1285: 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 1458: 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 1471: 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 1509: 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 1558: 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 1657: 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 1727: 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 1779: 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 1822: 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 1896: 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 1971: 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 2000: 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 2116: 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 2155: 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 2246: 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 2262: 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 2291: 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 2319: 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 2332: 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 2400: 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 2414: 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 2519: 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 2766: 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 2965: Ligne 2929:
 ----- -----
  
-Copyright © 2023 Hugh Norris.+Copyright © 2024 Hugh Norris.
Menu