Comment configurer les nœuds gérés anibles et exécuter les commandes ad hoc - partie 3

Comment configurer les nœuds gérés anibles et exécuter les commandes ad hoc - partie 3

Dans les deux précédents articles de cette série ANSIBLE, nous avons expliqué les composants centraux d'ANSIBL et la configuration du nœud de contrôle anible. Dans cette partie 3, nous montrerons comment vous pouvez configurer des nœuds gérés anibles pour exécuter des commandes ad hoc sur les hôtes distants.

Configurer l'authentification SSH sans mot de passe aux nœuds gérés anibles

En tant que récapitulatif sur notre dernier sujet, la gestion des hôtes distants avec ANSIBLE nécessite la configuration de l'authentification SSH sans mot de passe entre le nœud de contrôle Ansible et les hôtes gérés. Cela implique la génération d'une paire de clés (paire de clés SSH publique et privée) sur le nœud de contrôle ANSIBLE et copiant la clé publique de tous les hôtes éloignés. Ce sera une étape cruciale à l'avenir et rendra votre travail beaucoup plus facile.

Configurer l'escalade des privilèges sur les nœuds gérés

Lorsqu'il est connecté en tant qu'utilisateur régulier, vous devrez peut-être effectuer certaines tâches sur les nœuds gérés qui nécessitent des privilèges élevés ou des privilèges racine. Ces tâches incluent la gestion des packages, l'ajout de nouveaux utilisateurs et groupes et de la modification des configurations du système pour mentionner juste mais quelques-uns. Pour y parvenir, vous devez invoquer certaines directives dans le Playbook pour exécuter les tâches en tant qu'utilisateur privilégié sur les hôtes distants.

devenir

Anible vous permet de 'devenir' Un autre utilisateur sur le nœud géré différent de celui actuellement connecté. Le devenir: oui La directive augmente vos privilèges et vous permet d'effectuer des tâches qui nécessitent des privilèges racinaires tels que l'installation et la mise à jour des packages et le redémarrage du système.

Considérez un livre de jeu httpd.YML qui installe et démarre Apache Webserver comme indiqué:

--- - Nom: Installer et démarrer Apache Webserver Hosts: tâches de serveurs Web: - Nom: Installer httpd yum: name = httpd state = dernier devenir: oui - Nom: Vérifiez le service d'état HTTPD: name = httpd state = démarré 

Le devenir: oui La directive vous permet d'exécuter des commandes en tant qu'utilisateur racine sur l'hôte distant.

devenir_user

Une autre directive que vous pouvez utiliser pour devenir un autre utilisateur est le devenir_user. Cela vous permet de passer à un utilisateur sudo sur l'hôte distant lors de la connexion et non à l'utilisateur que vous vous connectez en tant que.

Par exemple, pour exécuter une commande comme Tecmint L'utilisateur sur la télécommande utilise la directive comme indiqué.

- Nom: Exécutez une commande comme la commande utilisateur Apache: SomeMand devient: Oui devenu_user: Tecmint 

devenir_method

Cette directive remplacera la méthode par défaut définie dans anable.CFG fichier qui est généralement défini sur sudo.

devenu_flags

Ceux-ci sont utilisés au niveau de la pièce ou de la tâche, par exemple lorsque vous devez passer à un utilisateur lorsque le shell est réglé sur Nologine.

Par exemple,

- Nom: Exécutez une commande comme personne de commande: SomeMand Devenez: VRAI CETTE_METHOD: SU CELD_USER: PERSONNE CETTE_FLAGS: '-s / bin / sh' 

Options de ligne de commande dans l'escalade des privilèges

Jetons un coup d'œil à certaines des options de ligne de commande que vous pouvez utiliser pour élever vos privilèges lors de l'exécution des commandes:

  • --demander-becol, -K - Cela vous invite au mot de passe de l'utilisateur sudo sur le système distant que vous essayez de connecter.
$ anible-playbook myplaybook.yml --ask-become-pass 
ANIBLE deviendrez
  • --devenir, -b - Cela vous permet d'exécuter la tâche en tant qu'utilisateur racine sans inciter à un mot de passe.
$ anible-playbook myplaybook.YML - Become 
  • --devenir utilisateur = devenir_user - Il vous permet d'exécuter des tâches en tant qu'un autre utilisateur.
$ anible-playbook myplaybook.yml --become-user = tecmint 
ANNIBLE DEVEZ UTILISATION

Valider une configuration de travail à l'aide de commandes ANSIBLE ad hoc

Parfois, vous voudrez peut-être effectuer des tâches rapides et simples sur des hôtes ou des serveurs distants dans ANSIBLE sans nécessairement avoir à créer un livre de jeu. Dans ce cas, vous devrez exécuter un ad hoc commande.

Qu'est-ce qu'une commande adhoc?

Un anible commande ad hoc est une commande en ligne qui vous aide à exécuter des tâches simples de manière simple mais efficace sans avoir besoin de créer des manuels. Ces tâches incluent la copie de fichiers entre les hôtes, le redémarrage des serveurs, l'ajout et la suppression des utilisateurs et l'installation d'un seul package.

Dans ce tutoriel, nous explorons diverses applications des commandes ad hoc ANSIBL. Nous allons utiliser le fichier d'inventaire Ci-dessous pour une démonstration.

[Webservers] 173.82.115.165 [Database_Servers] 173.82.202.239 

Utilisation de base des commandes ADHOC

L'utilisation la plus élémentaire des commandes ANSIBL-ADHOC est un ping à un hôte ou un groupe d'hôtes.

# anible -m ping tout 

Dans la commande ci-dessus, le -m Le paramètre est l'option de module. Ping est la commande ADHOC et le deuxième paramètre représente tous tous les hôtes du fichier d'inventaire. La sortie de la commande est illustrée ci-dessous:

Anable ping tous les hôtes

Pour ping, un groupe particulier d'hôtes, remplacer 'tous' paramètre avec le nom du groupe. Dans l'exemple ci-dessous, nous testons la connectivité avec des hôtes dans le groupe de serveurs Web.

# anible -m ping webserVers 
Groupe de ping anable des hôtes

De plus, vous pouvez utiliser le -un Attribut pour spécifier les commandes Linux régulières en double guillemets. Par exemple, pour vérifier la disponibilité du système des systèmes distants, exécutez:

# ANSIBLE -A "Up-temps" 
ANNESCIBLE Vérifier la disponibilité de l'hôte distant

Pour vérifier l'utilisation du disque des hôtes distants.

# anible -a "df -th" tout 
Utilisation du disque de contrôle des hôtes éloignés

Il y a des centaines et des centaines de modules que vous pouvez utiliser avec la commande ADHOC. Pour afficher toute la liste des modules avec leurs descriptions, exécutez la commande ci-dessous.

# anible-doc -l 

Pour afficher des informations détaillées sur un module particulier, exécutez la commande.

# anible-doc module_name 

Par exemple, pour rechercher plus de détails sur le module miam courir:

# yum anable-doc 
Module de chèque anable

Gérer les forfaits / services avec ANMIBLE

Les commandes ADHOC ANSIBL peuvent être utilisées pour l'installation et la suppression des packages en utilisant Miam et apte Gestionnaires de package.

Pour installer le serveur Web Apache sur le Centos 7 Hôte sous le groupe Webservers dans le fichier d'inventaire Exécutez la commande:

# ANSIBLE Webservers -m yum -a "name = httpd state = présent" 
ANSIBLE installer Apache sur les hôtes distants

Pour vérifier l'installation du serveur Web Apache, connectez-vous au client distant et exécutez.

# RPM -QA | grep httpd 
Confirmer l'installation d'Apache

Pour désinstaller Apache, changez simple à l'état de cadeau pour absent.

# ANSIBLE Webservers -m yum -a "name = httpd state = absent" 
ANNIBLE supprimer Apache

Encore une fois, pour confirmer la suppression de la course HTTPD.

# RPM -QA | grep httpd 
Confirmer la suppression d'Apache

Comme observé, les packages de serveurs Web Apache ont été purgés.

Création d'utilisateurs et de groupes à l'aide d'Anible

Lors de la création d'utilisateurs, le 'utilisateur'Le module est utile. Pour créer un nouvel utilisateur James avec mot de passe chapeau rouge sur le système de données du système client_server, émettez la commande.

# ANSIBLE DATABASE_SERVER -M USER -A "NAME = JAMES PASSOTS = REDHAT" 
ANNIBLE Créer un utilisateur sur des hôtes distants

Pour confirmer la création du nouvel utilisateur, exécutez la commande:

# ANSIBLE DATABASE_SERVERS -A "ID James" 
ANNIBLE Confirmer la création d'utilisateurs

Pour supprimer l'utilisateur, exécutez la commande:

# ANSIBLE DATABASE_SERVERS -M User -A "Name = James State = Absente" 
ANSIBLE Supprimer l'utilisateur

Escalade des privilèges

Si vous utilisez ANSIBLE en tant qu'utilisateur régulier, ANIBLE fournit une escalade de privilèges chez les hôtes distants --devenir option pour acquérir des privilèges racinaires et -k Pour inviter le mot de passe.

Par exemple, pour exécuter la commande ADHOC ANSIBLE 'netstat -pnltu'Avec l'option privilégiée --devenir et option -K Pour inciter le mot de passe de l'utilisateur racine à exécuter la commande.

$ anible webservers -m shell -a 'netstat -pnltu' --become -k 
Escalade des privilèges et

Pour devenir un autre utilisateur autre que root, utilisez le --devenir utilisateur attribut.

Par exemple pour courir 'df -th' comme Tecmint Utilisateur sur les hôtes distants et invite à l'exécution du mot de passe:

$ anible all -m shell -a 'df -th' --become-user tecmint -k 
Anable devient un autre utilisateur

Rassembler des faits sur les systèmes hôtes

Faits Reportez-vous à des informations détaillées sur un système. Cela comprend des informations sur l'adresse IP, l'architecture système, la mémoire et le processeur pour en mentionner quelques-uns.

Pour récupérer des informations sur les hôtes distants, exécutez la commande:

$ anible all -m configuration 
ANIBLE Rasseoir les faits du système

Fichiers de transfert / copie de fichiers

Anible utilise le module copie Pour copier en toute sécurité les fichiers du contrôle ANSIBL à plusieurs hôtes distants.

Vous trouverez ci-dessous un exemple d'opération de copie:

# ANSIBLE Webservers -m copie -a "src = / var / log / sécurisé dest = / tmp /" 
ANNIBLE Copier les fichiers à l'hôte distant

La commande copie le / var / log / sécurisé fichier dans le nœud de contrôle anable aux hôtes distants du groupe de serveurs Web dans le / tmp destination.

Vous pouvez utiliser le module de fichier pour modifier les autorisations et déposer la propriété.

# Fichier de serveurs de webServers -M -a "dest = / tmp / mode sécurisé = 600" 
Autorisations de fichiers de modification anibles

De plus, vous pouvez ajouter les arguments du propriétaire et du groupe comme indiqué:

# anable webservers -m fichier -a "dest = / tmp / sécurisé mode = 600 propriétaire = Tecmint Group = Tecmint" 
Attributs d'utilisateur et de groupe anneibles

Vous pouvez également créer des répertoires, de manière similaire à mkdir -p comme montré.

$ anible webservers -m fichier -a "dest = / path / to / directory mode = 755 propriétaire = Tecmint Group = Tecmint State = Directory" 

Par exemple,

$ anible webservers -m fichier -a "dest = / home / tecmint / data mode = 755 propriétaire = Tecmint Group = Tecmint State = répertoire" 
Anible crée un répertoire
Conclusion

Dans cet article, nous avons mis en lumière la façon dont vous pouvez configurer les nœuds gérés pour exécuter des commandes ad hoc anibles pour gérer. Nous espérons que vous l'avez trouvé utile. Donnez-nous un coup de feu et dites-nous comment ça s'est passé.