Utilisez vous 'Ansible' pour automatiser vos taches ?

Bambusa29

Chevalier Jedi
10 Avril 2022
411
172
88
Je viens de me mettre à Ansible et c'est moins compliqué que je ne le pensais à premier abord :D

Je me dit, pourquoi, je n'ai pas utilisé ça plus tôt :cool:

J'ai commencé à faire un fichier pour mettre à jour toutes mes machines physiques et virtuelles Debian.
Je le lance de mon poste de travail. Comme j'ai un proxy chez moi, le téléchargement des paquets via 'apt' est rapide après avoir fait le premier serveur (c'est dans le cache pour les suivantes).
Je n'ai pas automatisé le reboot des machines ; je préfère le faire manuellement.
Le mot de passe 'sudo' des serveurs m'est demandé au lancement du script (pas envi de le mettre en clair).

Prochaine étape : me faire un fichier d'installation et de configuration de nouvelle machine Debian, mais bon les possibilités avec Ansible sont énormes.


Le fichier d'update :

YAML:
---
- name: Update Debian
  hosts: debian
  become: yes
  become_method: sudo

  tasks:
  - name: Update package list
    when: ansible_os_family == 'Debian'
    apt: update_cache=yes force_apt_get=yes cache_valid_time=3600

  - name: Upgrade packages
    when: ansible_os_family == 'Debian'
    apt: state=latest force_apt_get=yes

  - name: Check if reboot is required
    stat:
      path: /var/run/reboot-required
    register: reboot_required

  - debug:
      msg: "La machine doit etre relancee"
    when: reboot_required.stat.exists


ansible01.png
 
  • J'aime
Réactions: FX Cachem et EVO
Étonné que tu n'aies pas mis en place un fichier /etc/sudoers.d/... pour ne plus avoir à taper ton mot de passe sudo.
Pour ma part j'utilise quelques scripts shell pour l'automatisation des sauvegardes par exemple mais je ne me suis pas mis à Ansible.
 
Étonné que tu n'aies pas mis en place un fichier /etc/sudoers.d/... pour ne plus avoir à taper ton mot de passe sudo.
Pour ma part j'utilise quelques scripts shell pour l'automatisation des sauvegardes par exemple mais je ne me suis pas mis à Ansible.

Utilisez le sudoer, c'est comme laisser les clés sur la porte de sa maison avec un écriteau 'Servez vous' 😅

Plus sérieusement, je l'utilise parfois quand je n'ai pas le choix (lancer un script sur un serveur avec SSH via une interface web), mais avec un chemin en dur vers le script à exécuter dans le fichier de config sudoer ; et bien sûr script en lecture seule.
 
Bonsoir,

Ansible: Encore un outil que j'envisage d'utiliser, histoire d'automatiser des déploiements, mises à jour, etc... de tous ces containers et autres VM...
Je trouve pas le temps, mais en attendant je pointe des sources d'infos. :)

Je ne sais pas si c'est le plus efficace mais de ce que je lis:
- Authentification par clés SSH
- utilisation de 'vault'

Mais pas plus que çà à ce stade... ;)

...

@+
 
Bonsoir,

Ansible: Encore un outil que j'envisage d'utiliser, histoire d'automatiser des déploiements, mises à jour, etc... de tous ces containers et autres VM...
Je trouve pas le temps, mais en attendant je pointe des sources d'infos. :)

Je ne sais pas si c'est le plus efficace mais de ce que je lis:
- Authentification par clés SSH
- utilisation de 'vault'

Mais pas plus que çà à ce stade... ;)

...

@+

Je l'utilise avec mes alias SSH et l'agent SSH de mon coffre-fort.

Tu trouveras plein de docs sur Internet.

Il y a un cours : OpenClassRoom intéressant basé sur le cas concret d'un déploiement d'un wiki. On voit bien toutes les étapes de construction jusqu'au déploiement final.
 
J'ai avancé un peu dans le déploiement d'un serveur 'searXNG' (moteur de recherche anonyme en 'selhhosted' ) via Ansible.
Il me reste à terminer la partie configuration du serveur.

J'ai galéré un peu avec Ansible, car le serveur à déployer est développé en Python avec un environnement virtuel.
Ce n'est pas facile à gérer un 'venv' avec un utilisateur autre que celui qui est utilisé dans le SSH.
Mais bon cela fonctionne :cool:

J'utilise deux 'playbook'.

L'installation des pré-requis :

ansible03.png


L'installation des sources dans un environnement virtuel :

ansible02.png