Heim System-Tutorial LINUX Zusammenfassung der Ansible-Nutzung: Ansible-Installation

Zusammenfassung der Ansible-Nutzung: Ansible-Installation

Aug 24, 2024 am 07:31 AM
linux linux教程 红帽 linux系统 linux命令 Linux-Zertifizierung Red Hat Linux Linux-Video

Zusammenfassung der Ansible-Nutzung: Ansible-Installation

1. Einführung

Ansible ist ein Konfigurationsmanagement- und Anwendungsbereitstellungstool. Seine Funktionen ähneln den aktuellen Branchen-Konfigurationsmanagementtools Chef, Puppet und Saltstack. Ansible wird mit der Python-Sprache entwickelt. Die Ansible-Plattform wurde von Michael DeHaan, dem Autor der bekannten Software Cobbler and Func, erstellt. Die erste Version von Ansible wurde im Februar 2012 veröffentlicht. Ansible verwaltet Maschinen standardmäßig über das SSH-Protokoll, sodass Ansible kein Client-Programm auf dem Server installieren muss. Sie müssen Ansible nur auf einem Server installieren. Nach der Installation von Ansible können Sie andere Server verwalten und steuern. Es ist nicht erforderlich, eine Datenbank dafür zu konfigurieren, und Ansible startet nicht und läuft auch nicht als Daemon weiter. Ansible kann folgende Ziele erreichen:

  • Automatisierte Bereitstellung von Anwendungen
  • Automatisierte Verwaltungskonfiguration
  • Automatisierte kontinuierliche Lieferung
  • Automatisierte (AWS) Cloud-Service-Verwaltung.

Laut den offiziellen Informationen von Ansible gehören zu den Benutzern, die Ansible derzeit nutzen: Evernote, Rackspace, NASA, Atlassian, Twitter usw.

Hinweis: Die obige Einführung stammt aus der Einführung von IBM Developerworks China.

2. Ansible-Installation
1. Leckere Quellinstallation

Nehmen Sie Centos als Beispiel. Ansible ist nicht in der Quelle enthalten, aber in der Fedora-Epel-Quelle ist Ansible vorhanden. Nachdem Sie die Epel-Quelle konfiguriert haben, können Sie es direkt über yum installieren. Hier ist Centos6.8 als Beispiel:

# yum install http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum install ansible
Nach dem Login kopieren
2. apt-get-Installation

In Ubuntu und seinen Derivaten können Sie apt-get installieren, indem Sie die PPA-Quelle wie folgt hinzufügen:

$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
Nach dem Login kopieren

3. Installation des Quellcodes
Die Installation des Quellcodes erfordert Python2.6 oder höher, was von den Modulen Paramiko, PyYAML, Jinja2, httplib2, simplejson und pycrypto abhängt. Die oben genannten Module können jedoch über pip oder easy_install installiert werden. Es richtet sich hauptsächlich an diejenigen, die dies nicht können. Wenn Sie mit dem Internet verbunden sind, können Sie über die Pypi-Site nach dem oben genannten Paket suchen, es herunterladen und über „python setup.py install“ installieren.

Laden Sie abschließend das Ansible-Quellcodepaket von Github oder Pypi herunter und installieren Sie es über Python Setup.py Install. Da der Installationsprozess relativ einfach ist, überspringen wir ihn hier und stellen hauptsächlich die Probleme vor, die nach der Installation auftreten können.

a. Bei der Installation von PyYAML wird der Fehler wie folgt gemeldet:

# python setup.py install
libyaml is not found or a compiler error: forcing --without-libyaml
(if libyaml is installed correctly, you may need to
specify the option --include-dirs or uncomment and
modify the parameter include_dirs in setup.cfg)
running install_lib
running install_egg_info
Removing /usr/lib64/python2.6/site-packages/PyYAML-3.11-py2.6.egg-info
Writing /usr/lib64/python2.6/site-packages/PyYAML-3.11-py2.6.egg-info
Nach dem Login kopieren

Im Centos6.8-System kann das Problem durch yum -y install libyaml package gelöst werden oder das Paket aus der ISO-Datei bereitstellen und über rpm -ivh installieren.

b. Nach der Installation von Ansible ist der Fehler wie folgt:

[root@361way.com ansible-1.9.1]# ansible -h
Traceback (most recent call last):
File "/usr/local/src/ansible-devel/bin/ansible", line 36, in 
from ansible.runner import Runner
File "/usr/local/src/ansible-devel/lib/ansible/runner/__init__.py", line 62, in 
from Crypto.Random import atfork
File "/usr/lib64/python2.6/site-packages/Crypto/Random/__init__.py", line 29, in 
from Crypto.Random import _UserFriendlyRNG
File "/usr/lib64/python2.6/site-packages/Crypto/Random/_UserFriendlyRNG.py", line 38, in 
from Crypto.Random.Fortuna import FortunaAccumulator
File "/usr/lib64/python2.6/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py", line 39, in 
import FortunaGenerator
File "/usr/lib64/python2.6/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py", line 34, in 
from Crypto.Util.number import ceil_shift, exact_log2, exact_div
File "/usr/lib64/python2.6/site-packages/Crypto/Util/number.py", line 56, in 
if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:
AttributeError: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'
Nach dem Login kopieren

Beim Importieren des Paramiko-Pakets wird der Fehler wie folgt gemeldet:

>>> import paramiko
Traceback (most recent call last):
File "", line 1, in 
File "/usr/lib/python2.6/site-packages/paramiko/__init__.py", line 69, in 
from transport import randpool, SecurityOptions, Transport
File "/usr/lib/python2.6/site-packages/paramiko/transport.py", line 32, in 
from paramiko import util
File "/usr/lib/python2.6/site-packages/paramiko/util.py", line 32, in 
from paramiko.common import *
File "/usr/lib/python2.6/site-packages/paramiko/common.py", line 98, in 
from rng import StrongLockingRandomPool
File "/usr/lib/python2.6/site-packages/paramiko/rng.py", line 22, in 
from Crypto.Util.randpool import RandomPool as _RandomPool
File "/usr/lib64/python2.6/site-packages/Crypto/Util/randpool.py", line 30, in 
import Crypto.Random
File "/usr/lib64/python2.6/site-packages/Crypto/Random/__init__.py", line 29, in 
from Crypto.Random import _UserFriendlyRNG
File "/usr/lib64/python2.6/site-packages/Crypto/Random/_UserFriendlyRNG.py", line 38, in 
from Crypto.Random.Fortuna import FortunaAccumulator
File "/usr/lib64/python2.6/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py", line 39, in 
import FortunaGenerator
File "/usr/lib64/python2.6/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py", line 34, in 
from Crypto.Util.number import ceil_shift, exact_log2, exact_div
File "/usr/lib64/python2.6/site-packages/Crypto/Util/number.py", line 56, in 
if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:
AttributeError: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'
Nach dem Login kopieren

Nach einer Online-Suche wurde bestätigt, dass die GMP-Version, von der das Pycrypto-Paket bei der Installation abhängt, falsch ist. Die Details können durch die folgenden Schritte überprüft werden:

[root@361way.com pycrypto-2.6.1]# python setup.py build
running build
running build_py
running build_ext
running build_configure
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
Nach dem Login kopieren

Lösung:

Öffnen Sie die Datei /usr/lib64/python2.6/site-packages/Crypto/Util/number.py. Sie können den Kommentar in Zeile 56 sehen, der erfordert, dass libgmp v5 oder höher ist. Die aktuelle Version des Systems ist 4.1.4. Wenn Sie die folgenden beiden Zeilen vorübergehend auskommentieren, wird Ansible normal ausgeführt.

if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:
_warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack 
vulnerability.", PowmInsecureWarning)
Nach dem Login kopieren

Diese Methode ist jedoch nur eine vorübergehende Lösung. Eine bessere Möglichkeit besteht darin, libgmp auf eine Version zu aktualisieren, die den Anforderungen entspricht.

c. Während der Ausführung ist ein Fehler aufgetreten

[root@361way.com src]# ansible test -m raw -a 'uptime'
10.212.52.14 | FAILED => to use the 'ssh' connection type with passwords, you must install the sshpass program
10.212.52.16 | FAILED => to use the 'ssh' connection type with passwords, you must install the sshpass program
Nach dem Login kopieren

Installieren Sie das SSHPass-Programm. Es ist in der Standardquelle nicht verfügbar. Ich habe mich entschieden, es direkt von der Sohu-Quelle herunterzuladen und zu installieren.

3. Ansible-Konfiguration und -Verifizierung

Der von pypi heruntergeladene Quellcode enthält ein Beispielpaket. Sie können diese Beispieldatei wie folgt als Standardkonfiguration verwenden:

[root@361way.com ansible-1.9.1]# mkdir -p /etc/ansible
[root@361way.com ansible-1.9.1]# cp -rp examples/* /etc/ansible/
[root@361way.com ansible-1.9.1]# cd /etc/ansible/
Nach dem Login kopieren

Nachdem Sie die Standard-Beispielkonfigurationsdatei verwendet haben, bearbeiten Sie die Datei /etc/ansible/hosts, um zu überprüfen, ob Ansible verfügbar ist:

[root@361way.com ~]# cat /etc/ansible/hosts
[test]
10.212.52.252 ansible_ssh_user=root ansible_ssh_pass=361way.com
10.212.52.14 ansible_ssh_user=root ansible_ssh_pass=abc123
10.212.52.16 ansible_ssh_user=root ansible_ssh_pass=91it.org
Nach dem Login kopieren

In der obigen Konfiguration habe ich eine Testgruppe konfiguriert. Es gibt drei Hosts in dieser Gruppe. Die Passwörter der drei Hosts sind 361way.com, abc123 und 91it.org.

Hinweis: Die folgenden Benutzer- und Passwortelemente sind optional. Wenn die Schlüsselauthentifizierung konfiguriert ist, können Sie direkt ohne Verwendung eines Passworts arbeiten. Wenn kein Schlüssel verwendet wird, können Sie auch den Parameter -k in ansible verwenden, um vor dem Vorgang nach einem manuellen Passwort zu fragen.

[root@361way.com ~]# ansible test -a 'uptime'
10.212.52.252 | success | rc=0 >>
18:01pm up 21 days 3:24, 3 users, load average: 0.39, 0.38, 0.35
10.212.52.16 | success | rc=0 >>
18:09pm up 329 days 1:01, 2 users, load average: 0.08, 0.03, 0.05
10.212.52.14 | success | rc=0 >>
18:08pm up 329 days 0:23, 2 users, load average: 0.06, 0.06, 0.05
Nach dem Login kopieren

Nachdem Sie die obigen Anweisungen ausgeführt haben, werden die Ergebnisse ausgegeben, die beweisen, dass die Installation erfolgreich war.

Das obige ist der detaillierte Inhalt vonZusammenfassung der Ansible-Nutzung: Ansible-Installation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Computerkonfiguration ist für VSCODE erforderlich? Welche Computerkonfiguration ist für VSCODE erforderlich? Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

Linux -Architektur: Enthüllung der 5 Grundkomponenten Linux -Architektur: Enthüllung der 5 Grundkomponenten Apr 20, 2025 am 12:04 AM

Die fünf grundlegenden Komponenten des Linux -Systems sind: 1. Kernel, 2. Systembibliothek, 3. System Utilities, 4. Grafische Benutzeroberfläche, 5. Anwendungen. Der Kernel verwaltet Hardware -Ressourcen, die Systembibliothek bietet vorkompilierte Funktionen, Systemversorgungsunternehmen werden für die Systemverwaltung verwendet, die GUI bietet visuelle Interaktion und Anwendungen verwenden diese Komponenten, um Funktionen zu implementieren.

VSCODE -Tutorial zur Verwendung VSCODE -Tutorial zur Verwendung Apr 15, 2025 pm 10:09 PM

Das integrierte VSCODE-integrierte Terminal ist ein Entwicklungstool, mit dem das Ausführen von Befehlen und Skripten innerhalb des Editors den Entwicklungsprozess vereinfachen kann. Verwenden Sie VSCODE -Anschluss: Öffnen Sie das Terminal mit der T -T -T -Taste (Strg/CMD). Geben Sie einen Befehl ein oder führen Sie das Skript aus. Verwenden Sie Hotkeys (z. B. Strg l, um das Terminal zu löschen). Ändern Sie das Arbeitsverzeichnis (z. B. den CD -Befehl). Zu den erweiterten Funktionen gehören Debug -Modus, automatischer Code -Snippet -Abschluss und interaktiver Befehlsverlauf.

So überprüfen Sie die Lageradresse von Git So überprüfen Sie die Lageradresse von Git Apr 17, 2025 pm 01:54 PM

Um die Git -Repository -Adresse anzuzeigen, führen Sie die folgenden Schritte aus: 1. Öffnen Sie die Befehlszeile und navigieren Sie zum Repository -Verzeichnis; 2. Führen Sie den Befehl "git remote -v" aus; 3.. Zeigen Sie den Repository -Namen in der Ausgabe und der entsprechenden Adresse an.

So führen Sie Java -Code in Notepad aus So führen Sie Java -Code in Notepad aus Apr 16, 2025 pm 07:39 PM

Obwohl Notepad den Java -Code nicht direkt ausführen kann, kann er durch Verwendung anderer Tools erreicht werden: Verwenden des Befehlszeilencompilers (JAVAC), um eine Bytecode -Datei (Dateiname.class) zu generieren. Verwenden Sie den Java Interpreter (Java), um Bytecode zu interpretieren, den Code auszuführen und das Ergebnis auszugeben.

Wo kann Code in VSCODE schreiben Wo kann Code in VSCODE schreiben Apr 15, 2025 pm 09:54 PM

Das Schreiben von Code in Visual Studio Code (VSCODE) ist einfach und einfach zu bedienen. Installieren Sie einfach VSCODE, erstellen Sie ein Projekt, wählen Sie eine Sprache aus, erstellen Sie eine Datei, schreiben Sie Code, speichern und führen Sie es aus. Die Vorteile von VSCODE umfassen plattformübergreifende, freie und open Source, leistungsstarke Funktionen, reichhaltige Erweiterungen sowie leichte und schnelle.

Was ist der Hauptzweck von Linux? Was ist der Hauptzweck von Linux? Apr 16, 2025 am 12:19 AM

Zu den Hauptanwendungen von Linux gehören: 1. Server -Betriebssystem, 2. Eingebettes System, 3. Desktop -Betriebssystem, 4. Entwicklungs- und Testumgebung. Linux zeichnet sich in diesen Bereichen aus und bietet Stabilität, Sicherheits- und effiziente Entwicklungstools.

Der Befehl vscode terminal kann nicht verwendet werden Der Befehl vscode terminal kann nicht verwendet werden Apr 15, 2025 pm 10:03 PM

Ursachen und Lösungen für die VS -Code -Terminalbefehle nicht verfügbar: Die erforderlichen Tools werden nicht installiert (Windows: WSL; MacOS: Xcode -Befehlszeilen -Tools) Pfadkonfiguration ist falsch (Hinzufügen von ausführbaren Dateien zu Pfadumgebungsvariablen hinzufügen) Berechtigungsprobleme Eine orientierte (neu installierende oder aktualisierte) Terminalkonfiguration ist inkompatibel (versuchen Sie verschiedene Terminaltypen oder Befehle) Spezifische Umgebungsvariablen fehlen (setzen Sie die erforderlichen Umgebungsvariablen).

See all articles