Zusammenfassung der Ansible-Nutzung: Ansible-Installation
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.
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
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
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
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'
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 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.
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)
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
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.
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/
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
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
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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)

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.

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.

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.

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.

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.

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.

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).
