Launching navigator without any additional options brings up a welcome screen that displays the different subcommands that are available. # ansible-navigator Moving around the interface is quite simple and reminders for the navigation keys are listed at the bottom of the interface. Subcommands can be entered in a vim-like fashion using the format :. Available subcommands: :builder // Build execution environment (container image):collections // Explore available collections:config // Explore
Error encountered on AAP: SSH password: ERROR! couldn't resolve module/action 'community.general.redhat_subscription'. This often indicates a misspelling, missing collection, or incorrect module path. Export your proxy parameters: # export HTTP_PROXY=http://proxy.your.company.org:8080# export HTTPS_PROXY=http://proxy.your.company.org:8080 Install your module (here community.general) and your path (current user folder by default), force path (–force) if needed: # ansible-galaxy c
Ansible Vault est un outil intégré à Ansible qui permet de chiffrer des fichiers contenant des données sensibles, comme des mots de passe ou des clés privées Chiffrer des données avec Ansible-Vault et déployer un playbookCréer un fichier chiffréLors de la création d’un fichier chiffré, Ansible Vault demandera de fournir un mot de passe pour chiffrer le fichier : # ansible-vault create /path/encrypted.yml Exemple de contenu : # encrypted.yml (chiffré)user_john_passwd: 1337H4X0Rvariable_secret: 1
Lorsque vous lancez votre playbook Ansible il peut signaler des erreurs (en rouge et bien VISIBLES). Parfois ces erreurs ne sont que mineures et vous pouvez spécifier à Ansible qu’il n’est pas nécessaire de vous hurler dessus pour si peu. Customisation des erreursLes paramètres à configurer sont ignore_errors, no_log, register et failed_when : ---- name: Script hosts: vos_hôtes become: yes tasks: - name: Lancement du script monscript.sh command: /usr/local/monscript.sh -<options1
Dans Ansible, {{ item }} est une syntaxe utilisée dans les expressions Jinja2 pour référencer la valeur de l’élément en cours lors d’une itération. Quand une boucle loop est utilisé, l’élément item fait référence à l’élément actuel dans la boucle. Utilisation des loopsEcrire dans un fichierPour ajouter plusieurs lignes à un fichier, le loop permet de lister les lignes à ajouter au fur et à mesure.Le insertafter: EOF correspond à un >>, c’est à dire que l’ajout se fait à
La différence entre > et | dans Ansible réside dans la manière dont les chaînes sont traitées. Les symboles : > : utilisé pour plier une chaîne de texte : remplace les sauts de ligne par des espaces, sauf à la fin de la chaîne utilisé lpour écrire du texte sur plusieurs lignes mais qui sera traité comme une seule ligne | : utilisé pour traiter une chaîne de texte comme un bloc non plié : conserve les sauts de ligne d’origine utile pour la mise en forme Utilisation de >L’utilisat
Création d’un playbook ansible permettant de créer un répertoire ainsi qu’un fichier horodaté, tout deux avec des droits spécifiques et un propriétaire. Il suffit de déclarer une variable nommée current_date qui lancera la commande Linux date : vars: current_date: "{{ lookup('pipe', 'date +%Y-%m-%d-%H:%M:%S') }}" PlaybookCréer un fichier Create-a-file-in-directory.yml contenant : ---- name: Creation de repertoire et Horodatage de fichier hosts:
Il existe plusieurs façon de créer un répertoire avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Déployer des packagesDéployer de façon génériqueLe module ansible.builtin.package permet de déployer des packages dans un parc hétérogène (Debian/RedHat). - name: Install ntpdate ansible.builtin.package: name: ntpdate state: present# This uses a variable as this changes per distribution.- name: Remove the apache package ansible.buil
Il existe plusieurs façon de créer un répertoire avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Déployer des packages sur un volume distantCe playbook monte un volume de repository et installe par la suite les packages python3 et mariaDB-common via le module ansible.builtin.yum. Des variables ont été définies dans la section vars du playbook. ---- name: Mount Vol et Intall RPM hosts: Parc-Linux-RHEL become: true vars: mynfs: &q
Il existe plusieurs façon de créer un répertoire avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Lancer des servicesLancer un service : - name: Start service httpd, if not started ansible.builtin.service: name: httpd state: started Stoper un service : - name: Stop service httpd, if started ansible.builtin.service: name: httpd state: stopped Relancer un service : - name: Restart service httpd, in all cases ansible.buil
Il existe plusieurs façon de monter un volume avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Monter un volumeMonter un volume : ---- name: Monter un volume ansible.posix.mount: path: /home/levolume src: data:/vol/leVolume fstype: rw,rsize=32768,wsize=32768 state: mounted- name: Mount DVD read-only ansible.posix.mount: path: /mnt/dvd src: /dev/sr0 fstype: iso9660 opts: ro,noauto state: present- name: Mount up devi
Il existe plusieurs façon de créer un répertoire avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Manipuler des fichiersCopieCopier un fichier : - name: Copy file with owner and permissions ansible.builtin.copy: src: /srv/myfiles/john.conf dest: /etc/john.conf- name: Copy file with owner and permissions ansible.builtin.copy: src: /srv/myfiles/john.conf dest: /etc/john.conf owner: john group: john mode: '0644&