[PYTHON] Installation d'Ansible

À propos de l'installation d'Ansible

J'ai décidé d'utiliser Ansible dans mes recherches, et quand je l'ai installé, je suis tombé sur certains, donc je vais décrire comment y faire face. Nous allons fermer le terminal de gestion avec Ansible.

Environnement d'expérimentation

Installation

Du côté serveur Installez Ansible et Python 2.7.

$ sudo apt-get install ansible
$ sudo apt-get install python2.7

Côté client Installez Python Simplejson.

$ sudo apt-get install python-simplejson

Vous avez maintenant tout ce dont vous avez besoin installé.

Paramètres du client

L'authentification par clé publique est requise pour se connecter du serveur au client avec Ansible. Cependant, même si vous ne prenez pas la peine de dépenser de l'argent pour émettre un certificat de l'autorité de certification, l'autocertification est suffisante, alors utilisez l'autocertification. Cependant, au lieu de s'authentifier avec une clé publique, l'authentification est effectuée avec une clé privée. Aucun mot de passe n'est défini cette fois. Assurez-vous de copier la clé privée sur le serveur

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/karuma/.ssh/id_rsa):← Appuyez sur la touche Entrée
Created directory '/home/karuma/.ssh'. ← ~/.Si ssh n'existe pas, créez un répertoire
Enter passphrase (empty for no passphrase):← Entrez la phrase secrète(N'entrez pas cette heure)
Enter same passphrase again:← Saisissez à nouveau la phrase secrète(N'entrez pas cette heure)
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/id_rsa*
$ chmod 700 ~/.ssh/
$ chmod 600 ~/.ssh/authorized_keys

Paramètres du serveur

Les trois éléments ci-dessus doivent être préparés. Aussi, à titre d'exemple, changez-le de manière appropriée en fonction de votre propre environnement.

..ssh/config


Adresse IP de l'hôte
Adresse IP de HostName
    User test
    Port 22
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking no
    PasswordAuthentication no
    IdentityFile "Coordonnées absolues de la clé privée"
    IdentitiesOnly yes
    LogLevel FATAL

/etc/ansible/hosts.


[all]
(IPAddress) ansbile_ssh_user=(UserName) ansible_ssh_private_key_file=(Coordonnées absolues de la clé privée)

[all:vars]
ansible_sudo_pass=(mot de passe sudo)

En définissant [test: vars], les mêmes paramètres peuvent être spécifiés pour tous les terminaux décrits dans [test]. Dans cet exemple, le mot de passe sudo est spécifié.

/etc/ansible/test.yml


---
- hosts:all
  always_run:yes
  tasks:
    - name: shutdown
      Command: shutdown -h now

Contrôle de fonctionnement

Confirmez que la communication peut être confirmée d'Ansible vers le terminal géré.

$ ansible all -m ping

図3.png

Si cela devient un tel affichage, c'est réussi.

Ensuite, essayez d'arrêter.

$ ansible-playbook /etc/ansible/shutdown.yml --check -s

図4.png

J'ai ajouté "--check" pour vérifier l'opération cette fois, mais ce n'est pas nécessaire lors de son utilisation.

~~ De plus, il y a une erreur dans cette image, mais je songe à enquêter sur la cause à l'avenir. Cependant, il a été confirmé que le terminal de gestion est arrêté normalement. ~~ Il s'est avéré que cette erreur était due à la coupure de la connexion en raison de l'arrêt du terminal de gestion lors de la connexion SSH côté Ansible. Par conséquent, Ansible peut être arrêté normalement en le réécrivant avec le contenu suivant. En changeant la commande de «maintenant» à «1», il s'éteindra après 1 minute.

/etc/ansible/test.yml


---
- hosts:all
  always_run:yes
  tasks:
    - name: shutdown
      Command: shutdown -h 1

Recommended Posts

Installation d'Ansible
Installez Ansible sur Mac
Installer ansible à partir du code source
Installer pytorch
Installez Activiti 6
installation emacs-jedi
Installation d'ArcoLinux
Installer python
Installez Python à partir des sources avec Ansible
Présentation d'Ansible
Installation de virtualenv
Installez mojimoji
Installez Scipy
Installer Memo
Installez Qiskit
installation de keras
Installer Mu
Note d'Ansible
Installez skt-war-result
Installation de Django
Installez PyTorch
installer l'oreiller
Installation d'ArchmanLinux
Playbook Ansible pour installer et configurer `pyenv`
installation sudo pip
Installation de ffmpeg / imagemagick
CentOS8 --Installer --Django
Installation locale de Python
Installez easy_install (Windows)
Dépannage de l'installation d'apt
Installez NAOqi python
Installer depuis conda-forge
Installez tensorflow. (Seulement!)
Installer Apache Zookeeper
Installer le contrôle Python
Lutte pour l'installation d'Opencv
Installation d'Apache Zeppelin
Installation d'Apache ActiveMQ
Construction et installation de BlueZ
CentOS8 --Installer --Python3
Installation de Numpy + Atlas