gwerlas.system

Système de base

statut du pipeline

Paramètres de base des systèmes Linux.

L’exécution de rôles dans des conteneurs n'est pas courante, mais ce cas d'utilisation est pris en charge pour les tests Ansible avec Molecule. Dans ce cas, seul le cache du gestionnaire de paquets sera configuré et mis à jour si nécessaire ; les autres composants du système ne seront pas gérés, car cela relève de la responsabilité du moteur de conteneurs.

Projet GitLab : yoanncolin/ansible/roles/system

Exigences

Ce rôle a été écrit pour être exécuté en tant qu'utilisateur non root, donc Sudo doit être installé et configuré.

Pour la configuration réseau, le package Python netaddr est requis. Vous avez également besoin du module Ansible ansible.utils.

Pour la gestion des systèmes de fichiers, le package Python jmespath est requis. Vous avez également besoin des modules Ansible community.general et ansible.posix.

Informations

Faits définis de ce rôle :

  • system_packages
  • system_shells
  • system_sudo_version

Consultez la documentation sur [les faits][] pour plus de détails.

Tags

Étant donné que certaines valeurs sont réparties dans plusieurs tâches, vous pouvez rapidement mettre à jour certaines d'entre elles avec des tags :

  • ca - Autorités de certification SSL
  • firewall
  • hosts - Mettre à jour le fichier /etc/hosts
  • networks
  • packages
  • proxies
  • storages
  • sudoers
  • time
  • users

Utilisation :

ansible-playbook -t tag1[,tag2[,...]] mon_play.yml

Tâches

Les composants système sont gérés par des tâches séparées qui peuvent être appelées indépendamment.

Bien sûr, toutes les tâches sont appelées dans le main.yml. Vous pouvez consulter la documentation de chaque tâche :

Variables de rôle

Activation des fonctionnalités

Consultez defaults/main/feature-flipping.yml.

Activez/désactivez certaines fonctionnalités en les définissant sur true/false.

Variables partagées

Consultez defaults/main/shared.yml.

system_bin_path: /usr/local/bin
system_profile: serveur
system_retries: 2

Certaines distributions ne fournissent pas de ligne de commande pour savoir facilement si un redémarrage est nécessaire, ou si le cache des paquets est obsolète. Nous avons donc mis des scripts pour le faire.

Vous pouvez changer l'emplacement de ces scripts via system_bin_path.

Le system_profile peut influencer le comportement de certaines parties du système, par exemple les paquets à installer (ou non).

Si vous avez des problèmes de réseau pendant l'installation, vous pouvez augmenter la valeur de system_retries.

Dépendances

Un système Linux accessible avec Python installé.

Exemple de Playbook

Premier déploiement ou mise à niveau de distribution, mise à jour par étapes de 10 :

---
- nom : Mise à jour progressive
  hôtes : tous
  série : 10%
  rôles :
    - rôle : gwerlas.system
      vars :
        system_packages_upgrade : vrai

Utilisation d'une seule tâche :

---
- nom : Gestionnaires de paquets
  hôtes : tous
  tâches :
    - nom : Juste préparer le gestionnaire de paquets
      ansible.builtin.import_role:
        nom : gwerlas.system
        tasks_from : package-managers

Licence

Licence BSD 3-Clause.

À propos du projet

Linux systems management

Installer
ansible-galaxy install gwerlas.system
Licence
bsd-3-clause
Téléchargements
5.6k
Propriétaire
DevOps Engineer