Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:debian:6:avance:l130:part6 [2021/03/25 05:59] adminelearning:workbooks:debian:6:avance:l130:part6 [2023/08/25 01:32] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version **2021.01**+Version **2023.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======DOF506 Ansible par la Pratique======+======LCF805 Validation de la Formation======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **DOF506 Validations des Acquis**+  * **LCF805 Validation de la Formation**
     * Contenu du Module     * Contenu du Module
-    * LAB #1 - Automatiser avec Ansible +    * Rappel du Programme de la Formation 
-      1.1 - Instructions +    Validation des acquis globale  
-      1.2 - Corrigés +    Évaluation de la Formation
-        * Erreur #1 +
-        * Erreur #2 +
-        * Erreur #3 +
-        * Erreurs 4, 5 et 6+
  
-=====LAB #1 - Automatiser avec Ansible=====+=====Rappel du Programme de la Formation=====
  
-Connectez-vous à la machine virtuelle **CentOS_7** :+  * **LCF800 Présentation de la Formation**
 +    Prérequis 
 +      * Matériel 
 +      * Logiciels 
 +      * Internet 
 +    * Programme de la Formation 
 +    Validation des Prérequis
  
-<code> +  * **LCF801 - Installation d'Ansible**. 
-trainee@traineeXX:~$ ssh -l trainee centos7 +    * Qu'est-ce Ansible ? 
-</code>+    * Installation d'Ansible 
 +    * LAB #1 - Configuration de ssh et de sudo 
 +      * 1.1 ssh 
 +      * 1.2 - sudo
  
-====1.1 - Instructions ====+  * **LCF802 - Les Commandes ansible, ansible-playbook et ansible-galaxy**. 
 +    * LAB #1 - Débuter avec Ansible 
 +      * 1.1 - La Commande ansible 
 +    * LAB #2 - La Commande ansible-playbook 
 +      * 2.1 - Playbook Files 
 +      * 2.2 - Tasks 
 +      * 2.3 - Handlers 
 +      * 2.4 - Modules 
 +        * 2.4.1 - Modules pour des Paquets 
 +        * 2.4.2 - Modules pour des Fichiers 
 +        * 2.4.3 - Modules pour le Système 
 +      * 2.5 - Inventory Files 
 +      * 2.6 - Privilèges 
 +        * 2.6.1 - Création de Groupes 
 +    * LAB #3 - La Commande ansible-galaxy 
 +      * 3.1 - Utiliser des Rôles avec un Play Book 
 +      * 3.2 - Ansible Galaxy
  
-Il vous est demandé d'automatiser avec Ansible :+  * **LCF803 - Rôles, Gabarits, Variables et Facts** 
 +    * LAB #1 - Dépendances de Rôles 
 +    * LAB #2 - Utilisation des Gabarits 
 +      * 2.1 - Variables 
 +      * 2.2 - Gabarits Conditionnels 
 +      * 2.3 - Boucles 
 +      * 2.4 - Macros 
 +      * 2.5 - Filtres 
 +        * 2.5.1 - Default 
 +        * 2.5.2 - Join 
 +        * 2.5.3 - Map 
 +      * 2.6 - Gabarits Parent - Enfants 
 +        * 2.6.1 - Le Gabarit Parent 
 +        * 2.6.2 - Le Gabarit Enfant 
 +    * LAB #3 - Gestion de la Hiérarchie des Variables 
 +    * LAB #4 - Utilisation des Facts d'Ansible 
 +    * LAB #5 - La Commande ansible-vault 
 +      * 5.1 - Crypter le Fichier 
 +      * 5.2 - Editer le Fichier 
 +      * 5.3 - Décrypter le Fichier 
 +      * 5.4 - Utilisation de Mots de Passe Aléatoires 
 +    * LAB #6 - Ansible par la Pratique 
 +      * 6.1 - Instructions 
 +      * 6.2 - Corrigés
  
-  * l'installation du serveur vsftpd, +  * **LCF804 - Utilisation d'Ansible avec Docker et Windows** 
-  la mise à jour éventuelle de firewalld, +    LAB #1 - Ansible et Docker 
-  la création d'une règle dans firewalld pour le trafic vers le serveur vsfptd, +      * 1.1 - Présentation de Docker 
-  * la création sécurisée de deux comptes ftp : +      1.2 - Installer Docker 
-    * user : mike +      * 1.3 - La Connexion à Docker 
-      * mot de passe : toto +    * LAB #2 - Préparer Windows 10 
-    user : bob +      * 2.1 - Mettre à Jour PowerShell et .NET 
-      * mot de passe : tata+      * 2.2 - Configurer WinRM 
 +      * 2.3 - Consulter les Informations sur WinRM 
 +      * 2.4 - Créer un Utilisateur Local pour Ansible 
 +    * LAB #3 - Préparer le Contrôleur Ansible 
 +      3.1 - Installer pywinrm 
 +      * 3.2 - Tester la Configuration 
 +    * LAB #4 - Travailler avec Ansible et Windows 
 +      * 4.1 - Obtenir les Informations sur Windows10 
 +      4.2 - Exécuter une Commande 
 +      * 4.3 - Exécuter un script PowerShell 
 +      * 4.4 - Installer un Logiciel avec Chocolatey 
 +      * 4.5 - Créer un Utilisateur Local
  
-Installez donc Ansible à partir des dépôts :+  * **LCF805 - Validation de la Formation**. 
 +    * Support de Cours 
 +    * Rappel du Programme de la Formation 
 +    * Validation des acquis globale 
 +    * Évaluation de la Formation
  
-<code> +=====Évaluation de la Formation=====
-[trainee@centos7 ~]$ su - +
-Mot de passe : fenestros +
-Dernière connexion : jeudi 5 septembre 2019 à 18:28:51 CEST sur pts/0 +
-[root@centos7 ~]# yum install epel-release +
-[root@centos7 ~]# yum install ansible +
-</code>+
  
-Vérifiez ensuite la présence des exécutables :+Afin de valider votre formation, veuillez compléter l’Évaluation de la Formation.
  
-<code> +-----
-[root@centos7 ~]# which ansible +
-/bin/ansible +
-[root@centos7 ~]# which ansible-playbook +
-/bin/ansible-playbook +
-</code>+
  
-Afin de vous aider, on vous fournit deux fichiers : +Copyright © 2023 Hugh Norris Document non-contractuelLe programme peut être modifié sans préavis.
- +
-<code> +
-[root@centos7 ~]# cat vsftpd.yml +
---+
-- name: ftp server install +
-  hosts: localhost +
-  gather_facts: no +
-  become: yes +
-  vars_files: +
-    - users.yml +
-  tasks: +
-    - name: latest vsftpd version +
-      yum: +
-        name: vsftpd +
-        state: latest +
-    - name: latest firewalld version +
-        name: firewalld +
-        state: latest +
-    - name: vsftpd +
-      service: +
-        name vsftpd +
-        enabled: true +
-        state: started +
-    - name: firewalld +
-      service: +
-        name: firewalld +
-        enabled: true +
-        state: started +
-    - name: firewalld allows ftp +
-      firewalld: +
-        permanent: yes +
-        immediate: yes +
-        state: enabled +
-    - name: Create_FTP_users +
-      user: +
-        password: "{{ item.password | password_hash(sha512) }}" +
-        with_items: "{{ ftp_users }}" +
-</code> +
- +
-<code> +
-[root@centos7 ~]# ansible-vault view secrets.yml +
-Vault password: fenestros +
-ftp_users: +
- - { username: mike, password: toto } +
- - { username: bob, password: tata } +
-</code> +
- +
-Lors de l'exécution de la commande ansible-playback, vous obtenez le résultat suivant : +
- +
-<code> +
-[root@centos7 ~]# ansible-playbook vsftpd.yml +
- [WARNING]: Could not match supplied host pattern, ignoring: all +
- +
- [WARNING]: provided hosts list is empty, only localhost is available +
- +
-ERROR! Syntax Error while loading YAML. +
- +
- +
-The error appears to have been in '/root/vsftpd.yml': line 14, column 13, but may +
-be elsewhere in the file depending on the exact syntax problem. +
- +
-The offending line appears to be: +
- +
-    - name: latest firewalld version +
-        name: firewalld +
-        ^ here +
- +
-exception type: <class 'yaml.scanner.ScannerError'> +
-exception: mapping values are not allowed in this context +
- in "<unicode string>", line 14, column 13 +
-</code> +
- +
-A vous de jouer ! +
- +
-<ifauth @admin> +
- +
-====1.2 - Corrigés==== +
- +
-===Erreur #1=== +
- +
-Éditez le fichier **vsftpd.yml** : +
- +
-<code> +
-[root@centos7 ~]# vi vsftpd.yml +
-[root@centos7 ~]# cat vsftpd.yml +
---- +
-- name: ftp server install +
-  hosts: localhost +
-  gather_facts: no +
-  become: yes +
-  vars_files: +
-    - users.yml +
-  tasks: +
-    - name: latest vsftpd version +
-      yum: +
-        name: vsftpd +
-        state: latest +
-    - name: latest firewalld version +
-      yum:   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Ajouter yum: +
-        name: firewalld +
-        state: latest +
-    - name: vsftpd +
-      service: +
-        name vsftpd +
-        enabled: true +
-        state: started +
-    - name: firewalld +
-      service: +
-        name: firewalld +
-        enabled: true +
-        state: started +
-    - name: firewalld allows ftp +
-      firewalld: +
-        permanent: yes +
-        immediate: yes +
-        state: enabled +
-    - name: Create_FTP_users +
-      user: +
-        password: "{{ item.password | password_hash(sha512) }}" +
-        with_items: "{{ ftp_users }}" +
-</code> +
- +
-Relancez la commande **ansible-playbook** : +
- +
-<code> +
-[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' +
-ERROR! Syntax Error while loading YAML. +
-  mapping values are not allowed in this context +
- +
-The error appears to be in '/root/vsftpd.yml': line 20, column 16, but may +
-be elsewhere in the file depending on the exact syntax problem. +
- +
-The offending line appears to be: +
- +
-        name vsftpd +
-        enabled: true +
-               ^ here +
-</code> +
- +
-===Erreur #2=== +
- +
-Editez le fichier **vsftpd.yml** : +
- +
-<code> +
-[root@centos7 ~]# vi vsftpd.yml +
-[root@centos7 ~]# cat vsftpd.yml +
---- +
-- name: ftp server install +
-  hosts: localhost +
-  gather_facts: no +
-  become: yes +
-  vars_files: +
-    - users.yml +
-  tasks: +
-    - name: latest vsftpd version +
-      yum: +
-        name: vsftpd +
-        state: latest +
-    - name: latest firewalld version +
-      yum:   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Ajouter yum: +
-        name: firewalld +
-        state: latest +
-    - name: vsftpd +
-      service: +
-        name: vsftpd <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Ajouter le caractère : après name +
-        enabled: true +
-        state: started +
-    - name: firewalld +
-      service: +
-        name: firewalld +
-        enabled: true +
-        state: started +
-    - name: firewalld allows ftp +
-      firewalld: +
-        permanent: yes +
-        immediate: yes +
-        state: enabled +
-    - name: Create_FTP_users +
-      user: +
-        password: "{{ item.password | password_hash(sha512) }}" +
-        with_items: "{{ ftp_users }}" +
-</code> +
- +
-Relancez la commande **ansible-playbook** : +
- +
-<code> +
-[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' +
-ERROR! vars file users.yml was not found +
-Could not find file on the Ansible Controller. +
-If you are using a module and expect the file to exist on the remote, see the remote_src option +
-</code> +
- +
-===Erreur #3=== +
- +
-Créez le fichier **users.yml** : +
- +
-<code> +
-[root@centos7 ~]# vi users.yml +
-[root@centos7 ~]# cat users.yml  +
-ftp_users: +
- - { username: mike, password: toto } +
- - { username: bob, password: tata } +
-</code> +
- +
-Relancez la commande **ansible-playbook** : +
- +
-<code> +
-[root@centos7 ~]# mv user.yml users.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' +
- +
-PLAY [ftp server install] *********************************************************************************************************************************************** +
- +
-TASK [latest vsftpd version] ******************************************************************************************************************************************** +
-changed: [localhost] +
- +
-TASK [latest firewalld version] ***************************************************************************************************************************************** +
-changed: [localhost] +
- +
-TASK [vsftpd] *********************************************************************************************************************************************************** +
-changed: [localhost] +
- +
-TASK [firewalld] ******************************************************************************************************************************************************** +
-ok: [localhost] +
- +
-TASK [firewalld allows ftp] ********************************************************************************************************************************************* +
-ok: [localhost] +
- +
-TASK [Create_FTP_users] ************************************************************************************************************************************************* +
-fatal: [localhost]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'sha512' is undefined\n\nThe error appears to be in '/root/vsftpd.yml': line 32, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n        state: enabled\n    - name: Create_FTP_users\n      ^ here\n"+
- +
-PLAY RECAP ************************************************************************************************************************************************************** +
-localhost                  : ok=5    changed=3    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0   +
-</code> +
- +
-===Erreurs 4, 5 et 6=== +
- +
-<code> +
-[root@centos7 ~]# vi vsftpd.yml +
-[root@centos7 ~]# cat vsftpd.yml +
---- +
-- name: ftp server install +
-  hosts: localhost +
-  gather_facts: no +
-  become: yes +
-  vars_files: +
-    - users.yml +
-  tasks: +
-    - name: latest vsftpd version +
-      yum: +
-        name: vsftpd +
-        state: latest +
-    - name: latest firewalld version +
-      yum:   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Ajouter yum: +
-        name: firewalld +
-        state: latest +
-    - name: vsftpd +
-      service: +
-        name: vsftpd <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Ajouter le caractère : après name +
-        enabled: true +
-        state: started +
-    - name: firewalld +
-      service: +
-        name: firewalld +
-        enabled: true +
-        state: started +
-    - name: firewalld allows ftp +
-      firewalld: +
-        permanent: yes +
-        immediate: yes +
-        state: enabled +
-    - name: Create_FTP_users +
-      user: +
-        name: "{{ item.username }}"  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Ajouter la ligne name: +
-        password: "{{ item.password | password_hash('sha512') }}" <<<<<<<<<<<<Entourer sha512 avec des caractères ' +
-      with_items: "{{ ftp_users }}" <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Aligner with_items: avec user: +
-</code> +
- +
-Relancez la commande **ansible-playbook** : +
- +
-<code> +
-[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' +
-ERROR! vars file users.yml was not found +
-Could not find file on the Ansible Controller. +
-If you are using a module and expect the file to exist on the remote, see the remote_src option +
-</code> +
- +
-Relancez la commande **ansible-playbook** : +
- +
-<code> +
-[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' +
- +
-PLAY [ftp server install] *********************************************************************************************************************************************** +
- +
-TASK [latest vsftpd version] ******************************************************************************************************************************************** +
-ok: [localhost] +
- +
-TASK [latest firewalld version] ***************************************************************************************************************************************** +
-ok: [localhost] +
- +
-TASK [vsftpd] *********************************************************************************************************************************************************** +
-ok: [localhost] +
- +
-TASK [firewalld] ******************************************************************************************************************************************************** +
-ok: [localhost] +
- +
-TASK [firewalld allows ftp] ********************************************************************************************************************************************* +
-ok: [localhost] +
- +
-TASK [Create_FTP_users] ************************************************************************************************************************************************* +
-changed: [localhost] => (item={u'username': u'mike', u'password': u'toto'}) +
-changed: [localhost] => (item={u'username': u'bob', u'password': u'tata'}) +
- +
-PLAY RECAP ************************************************************************************************************************************************************** +
-localhost                  : ok=6    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   +
-</code> +
- +
-</ifauth> +
- +
------ +
-<html> +
-<div align="center"> +
-Copyright © 2021 Hugh NORRIS +
-</div> +
-</html>+
Menu