Comment utiliser des modules anibles pour les tâches d'administration du système - Partie 6

Comment utiliser des modules anibles pour les tâches d'administration du système - Partie 6

Dans ce Partie 6 De la série ANSIBLE, nous avons couvert quelques modules anibles dans les sujets passés, nous allons maintenant aller plus loin et découvrir des modules supplémentaires qui sont utiles pour effectuer un certain nombre de tâches d'administration du système.

Vous aurez une idée de base de chaque module et regardez les options disponibles pour accomplir certaines tâches.

Sur cette page:
  1. Gestion des packages de logiciels et des référentiels dans ANIBLE
  2. Gestion des services utilisant ANSIBLE
  3. Gérer le pare-feu avec ANSIBLE
  4. Archivage des fichiers ou des dossiers avec ANMIBLE
  5. Planifiez les tâches avec ANSIBLE
  6. Gérer les utilisateurs et les groupes avec ANSIBLE
  7. Créer des fichiers et des répertoires avec ANSIBLE
  8. Gérer le stockage avec Ansible
  9. Gérer les systèmes de fichiers avec ANSIBLE

1. Gestion des packages de logiciels et des référentiels dans ANIBLE

Lors de l'installation de packages sur les systèmes Linux, différentes distributions sont livrées avec différents gestionnaires de packages. Pour Chapeau rouge Distributions, nous avons yum & dnf tandis que pour Debian saveurs, il y a de.

Anible est livré avec un module appelé emballer, ce qui élimine le besoin d'utiliser différents gestionnaires de packages pour différents systèmes. Il utilise automatiquement le gestionnaire de packages correspondant du système hôte, facilitant ainsi le travail.

Installer des packages de logiciels

Par exemple, pour installer htop dans un groupe de hôtes comprenant les deux Debian & Chapeau rouge les distrotes utilisent le emballer module comme indiqué dans le install_htop.YML Playbook ci-dessous.

--- - Nom: Installer HTOP sur les hôtes Ubuntu et Centos: toutes les tâches: - Package: Nom: HTOP État: installé 
Installer un logiciel à l'aide du module de package ANSIBLE

NOTE: Les noms de packages peuvent différer d'un système d'exploitation à un autre. Par exemple, nous avons httpd dans Chapeau rouge distributions et Apache2 pour Debian / Ubuntu Systèmes qui désignent tous le serveur Web Apache. Par conséquent, une prudence supplémentaire doit être prise lors de la réussite de ces forfaits. Habituellement, il est préférable d'utiliser des variables ou des déclarations conditionnelles.

2. Gestion des services utilisant ANSIBLE

Ensuite, nous avons un service Module, qui est utilisé pour gérer les services sur les systèmes Linux. Il est utilisé pour démarrer, arrêter ou redémarrer un service. Vous pouvez également l'utiliser pour activer un service de sorte que lorsqu'un système botte, il démarre automatiquement le service.

Démarrer et activer un service

Par exemple, pour démarrer et activer Apache Webserver sur Rhel 8, Utilisez le service comme indiqué.

--- - Nom: Démarrer et activer HTTPD Service Hosts: Tâches WebserVers: - Service: Nom: Httpd État: Démarré Activé: Oui 
Gérer les services avec ANSIBLE

Arrêter un service

Arrêter httpd service, passer le arrêté attribut.

--- - Nom: Stop Httpd Service Hosts: Tâches de serveurs: - Service: Nom: Httpd État: arrêté 
Arrêter le service avec ANIBLE

Redémarrer un service

Recommencer httpd service, passer le redémarré attribut.

--- - Nom: Redémarrer HTTPD Service Hosts: Tâches de serveurs Web: - Service: Nom: Httpd État: redémarré 
Redémarrer le service avec ANIBLE

3. Gérer le pare-feu avec ANSIBLE

Un autre système de tâches important entreprend est la gestion du pare-feu. Dans les livres de jeu anibles, cela a été rendu beaucoup plus facile avec pare-feu et ufw modules. Vous pouvez configurer le pare-feu pour autoriser ou bloquer un port ou un service ou même une adresse source.

Sautons et jetons un coup d'œil à quelques exemples:

Port ouvert / bloc 80 en pare-feu

--- - Nom: Autoriser le port 80 hôtes: Tâches de serveurs: -Firewalld: Port: 80 / TCP Permanent: oui État: activé 

Dans le livre de jeu ci-dessus, le port 80 est autorisé à travers le pare-feu.

L'option Permanent: oui applique la règle du pare-feu et la rend persistent à travers les redémarrages. Cependant, cette règle ne s'applique pas immédiatement. Il n'entre en vigueur qu'après un redémarrage. Pour appliquer la règle immédiatement, utilisez l'option immédiat: oui.

Pour spécifier les adresses autorisées, utilisez le Source: 0.0.0.0/0 déclaration.

- Firewalld: Source: 192.168.0.0/24 Zone: État public: activé 

Pour spécifier une gamme de ports à utiliser l'option de port comme suit:

- Firewalld: Port: 213-567 / UDP Permanent: Oui État: Activé 

Pour bloquer le port, modifiez l'option d'état vers désactivé comme montré:

-Firewalld: Port: 80 / TCP Permanent: Oui État: Désactivé 

Ajouter / bloquer un service dans Firewalld

En plus d'ajouter / bloquer un port, vous pouvez également appliquer les mêmes règles à un service. Et c'est assez simple. Utilisez simplement le service module et ajoutez le service à ajouter et assurez-vous que l'option d'état est définie sur activé.

- Firewalld: Service: HTTPS Permanent: True État: activé 

Pour bloquer le service Définissez le État option de désactivé.

- Firewalld: Service: HTTPS Permanent: True État: handicapé 

4. Archivage des fichiers ou des dossiers avec ANMIBLE

Archiving fait référence à la compression d'un fichier ou d'un dossier à un format facilement portable et de plus petite taille. ANSIBLE ENTRAIT avec un module appelé archive. La compression d'un fichier est à peu près aussi simple que possible. Tout ce qui est requis est de spécifier le chemin source du fichier et la destination du fichier compressé.

Comprimer un répertoire

Considérez un livre de jeu compresse.YML dessous.

--- - Hôtes: Tâches de serveurs Web: • Nom: Compress a un dossier Archive: chemin: / opt / data / web dest: / tmp / web.gz 

Le livre de jeu ci-dessus compresse le / opt / data / web répertoire et l'enregistre à / tmp / web.gz.

Créer des archives avec Anible

Comprimer un répertoire avec format

Le format de compression par défaut est .gz, Cependant, cela peut être spécifié en utilisant l'attribut de format. Goûter le prochain livre de jeu.

--- - Hôtes: Tâches de serveurs Web: - Nom: Créez une archive d'archive zip: path: / opt / data / web dest: / tmp / web format: zip 

Le livre de jeu ci-dessus compresse / opt / data / web répertoire de / tmp / web.zipper.

Débordant un fichier

Vous pouvez également débarrasser un fichier compressé en utilisant le non archisif attribut. Considérez le livre de jeu ci-dessous.

--- - Hôtes: Tâches de serveurs: - Nom: Uncompressive / TMP / Web.Répertoire GZ à / Opt sur ANSIBLE Controller Unarchive: SRC: / TMP / Web.bz2 dest: / opt / 

Le playbook ci-dessus incompte le fichier / opt / data / web.gz pour /opter sur le contrôleur anible.

Débrochez un fichier sur le nœud distant

Pour spécifier le système source distant, utilisez le distote_src = oui option.

--- - Hôtes: Tâches de serveurs: - Nom: Uncompressive / TMP / Web.bz2 à / opt sur l'hôte distant Unarchive: src: / tmp / web.bz2 dest: / opt / distote_src = oui 

Le playbook ci-dessus incompte le fichier / tmp / web.bz2 sur le nœud distant au /opter/ annuaire.

5. Planifiez les tâches avec ANSIBLE

Le cron module Aide à planifier des travaux dans des manuels ANSIBL.

Créer une tâche planifiée

Considérez le livre de jeu ci-dessous.

--- - Hôtes: Tâches de serveurs Web: - Nom: Créer une tâche planifiée Cron: Nom: Exécuter le travail de fréquentation des employés: SH / OPT / SCRIPTS / ASSISTACE.SH Mois: 4 jours: 5 heures: 17 minutes: 00 

Le Playbook exécute le script de présence le 5 avril à 17h00.

Planifiez un script à la date spécifique

Si vous souhaitez planifier ce script pour fonctionner uniquement si le 5 avril est un lundi, utilisez le jour de la semaine: 1 attribut. 0 indique que le dimanche et 6 dénote samedi selon Cron Notation.

Mois: 4 jours: 5 heures: 17 minutes: 00 en semaine: 1 

Un astérisque (*) Dans l'un de ces champs, indique toute valeur.

Exécutez un emploi à une date

Pour exécuter le travail le 5 avril à 17h00, peu importe le jour de la semaine, utilisez les paramètres de temps comme indiqué.

Mois: 4 jours: 5 heures: 17 minutes: 00 en semaine: * 

Exécutez un emploi un jour spécifique chaque mois

Pour exécuter le travail cron le 5ème jour de chaque mois à 17h00, utilisez les paramètres ci-dessous.

Mois: * Jour: 5 heures: 17 minutes: 00 en semaine: * 

Exécuter un emploi sur quotidiennement

Pour exécuter le travail Cron tous les jours à 17h00, définissez les paramètres d'heure comme indiqué:

Mois: * Jour: * Hour: 17 minutes: 00 en semaine: * 

Exécuter un emploi toutes les 5 heures

Pour exécuter le travail cron toutes les 5 heures, utilisez la valeur de pas * / 5 comme montré.

Mois: * Jour: * Hour: * / 5 minutes: * Dayday: * 

6. Gérer les utilisateurs et les groupes avec ANSIBLE

Vous pouvez également gérer les utilisateurs et les groupes à l'intérieur des manuels ANSIBL.

Créer un nouvel utilisateur

Pour créer un nouvel utilisateur, utilisez le utilisateur module comme indiqué.

--- - Hôtes: Tâches de serveurs Web: - Nom: Créez un nouvel utilisateur utilisateur: Nom: Jack 

Vous pouvez également ajouter des options supplémentaires telles que l'UID, les groupes.

- Nom: Créer un nouvel utilisateur utilisateur: Nom: Jack Commentaire: Jack Peters UID: 1002 Groupe: Administrateurs Shell: / bin / bash 

Supprimer un utilisateur

Pour supprimer l'utilisateur, utilisez le Supprimer: oui déclaration.

- Nom: Supprimer l'utilisateur «Jack» de l'utilisateur: Nom: Jack État: absent Supprimer: oui 

Créer un nouveau groupe

Pour créer un nouveau groupe, utilisez le groupe module.

- Nom: Créer un groupe de groupe: Nom: Développeurs 

7. Créer des fichiers et des répertoires avec ANSIBLE

Pour créer des fichiers de répertoires, utilisez le déposer module.

Créer un nouveau répertoire

Par exemple, pour créer un nouveau répertoire.

--- - Hôtes: Tâches de serveurs Web: - Nom: Créez un nouveau fichier de répertoire: Path: / Opt / App State: répertoire 

Vous pouvez ajouter d'autres attributs tels que les autorisations de propriétaire, de groupe et de fichiers.

- Hôtes: Tâches de serveurs Web: - Nom: Créez un nouveau fichier de répertoire: Chemin: / OPT / Web État: Répertoire Propriétaire: WWW-DATA GROUP: WWW-DATA MODE: 0644 

De plus, vous pouvez créer des répertoires récursivement à l'aide du Recurse: Oui déclaration.

--- - Hôtes: tâches de serveurs Web: - Nom: Créer des répertoires Fichier récursivement: Path: / opt / web / app State: répertoire Propriétaire: WWW-Data Group: WWW-Data Mode: 0644 Recurse: Oui 

Créer un fichier

Pour créer un fichier, utilisez le État: toucher option.

--- - Hôtes: Tâches de serveurs Web: - Nom: Créez un nouveau fichier Fichier: Path: / Opt / Web / Index.html État: toucher Propriétaire: WWW-Data Group: Mode www-data: 0644 

8. Gérer le stockage avec Ansible

Le LVG Le module est utilisé pour configurer les volumes et groupes LVM.

Créer un groupe de volume LVM

Considérez le livre de jeu ci-dessous:

--- - Hôtes: Tâches de serveurs Web: • Nom: Créer un groupe de volume LVM LVG: VG: VG1 PVS: / dev / sda1 Pesize: 32 

Cela crée un groupe de volumes au-dessus de / dev / sda1 partition avec une mesure physique de la taille de 32 MB.

Une fois créé, utilisez le lvol module pour créer un volume logique comme indiqué

Créer un volume logique

--- - Hôtes: Tâches de serveurs Web: - Nom: Créer un volume LVM LVOL: VG: VG1 LV: LVOL1 PVS: / DEV / SDA1 

9. Gérer les systèmes de fichiers avec ANSIBLE

Pour créer un système de fichiers sur un périphérique de bloc, utilisez le système de fichiers module.

Créer un système de fichiers

Le playbook ci-dessous crée le type de système de fichiers de XFS sur le volume de bloc.

--- - Hôtes: Tâches de serveurs Web: - Nom: Créez un système de fichiers Système: FSTYPE: XFS DEV: / DEV / VG1 / LVOL1 

Monter un système de fichiers

Vous pouvez ensuite procéder pour monter le volume de bloc en utilisant le monter Module comme indiqué dans le manuel ci-dessous:

--- - Hôtes: Tâches de serveurs Web: - Nom: Mont a un système de fichiers Mount: FSTYPE: XFS SRC: / DEV / VG1 / LVOL1 PATH: / OPT / WEB STAT: Monté 
Conclusion

Cela conclut le sujet. Nous avons couvert diverses tâches d'administration du système qui peuvent être accomplies par des modules intégrés spécifiques dans les manuels anibles.