ansible tutorial installation
Praktisches Ansible-Tutorial mit Ansible-Installation, -Verwendung und -Konfiguration mit Ansible-Modulen:
Wir haben darüber gesprochen AWS Elastic Beanstalk in unserem vorherigen Tutorial.
LISTE der Tutorials in dieser Ansible-Reihe:
Tutorial Nr. 1: Ansible Installation und Module
Tutorial # 2: Ansible Playbooks und Tresore
Tutorial # 3: Ansible Rollen und Integration mit Jenkins
Ansible ist ein Open Source-Tool, das bei der Aufgabenautomatisierung, Anwendungsbereitstellung, Cloud-Bereitstellung und Konfigurationsverwaltung hilft.
Lesen Sie auch => DevOps Training Tutorial Liste
Es handelt sich also um eine IT-Orchestrierung, bei der Aufgaben nacheinander auf mehreren verschiedenen Computern oder Servern ausgeführt werden.
Ansible stellt dazu über SSH eine Verbindung zu mehreren Computern her und führt die in Playbooks konfigurierten Aufgaben aus und verwendet eine einfache Sprache namens YAML (noch eine Markup-Sprache) .
Was du lernen wirst:
- Übersicht über Ansible
- Ansible Installationsprozess
- Ansible Verwendung
- Ansible Module
- Zusammenfassung
- Literatur-Empfehlungen
Übersicht über Ansible
Am wichtigsten ist, dass Ansible keinen Agenten verwendet, um Aufgaben auf verschiedenen Computern zu automatisieren.
Ansible stellt sicher, dass die Softwarepakete exakte Versionen und aktuelle Informationen enthalten.
Zum Beispiel Wenn Sie JDK 8 oder Tomcat oder ein anderes Softwarepaket auf 10 oder 20 verschiedenen Computern installieren möchten, ist es nicht möglich, alle Computer aufzurufen und zu installieren. Verwenden Sie Ansible, um die Installation oder sogar Softwarebereitstellungen mithilfe von Playbooks und Inventory zu automatisieren in einer sehr einfachen Sprache geschrieben.
So Ansible ist:
- Kostenlos und Open Source
- Gepflegt von Redhat
- Im Wesentlichen eine Serverkonfiguration
- Konfigurationsmanagement
In dieser dreiteiligen Ansible Tutorial-Reihe werden wir den praktischen Ansatz zu folgenden Themen diskutieren:
- Installations- und Konfigurationsprozess
- Inventar
- Ansible Module
- Ad-hoc-Befehle,
- Aufgabenautomatisierung mithilfe von Playbooks
- Ansible Rollen
- Ansible Tresor
- Ansible und AWS
Ansible Installationsprozess
Ansible kann von jedem Computer aus installiert und ausgeführt werden.
In der Regel benötigen Sie eine Steuermaschine für die Installation, die Linux sein sollte. Windows-Computer unterstützen es nicht, ein Steuercomputer zu sein. Die Steuermaschine verwaltet die anderen Remote-Maschinen. Wie bereits erwähnt, verwendet Ansible SSH zur Verwaltung von Remotecomputern.
In diesem Tutorial werde ich AWS EC2-Instanzen verwenden, um die Beispiele zu präsentieren. Ich habe 2 Instanzen (eine Steuerungsmaschine und eine andere als Ziel für die Automatisierung von Aufgaben) und Redhat Linux 7.5 verwendet.
Unabhängig davon, ob es sich um lokale oder Cloud-Instanzen handelt, müssen Sie die Ports entsprechend den zu automatisierenden Aufgaben entsprechend öffnen. Ich habe die folgenden Ports als Teil der Sicherheitsgruppe für die EC2-Instanzen geöffnet, um die im Lernprogramm genannten Beispiele zu demonstrieren.
wie man eine apk datei in windows öffnet
Auf dem obigen Bildschirm habe ich das Öffnen von Port 8080 erwähnt, da ich die Automatisierung der Automatisierung der Softwarebereitstellung mit Tomcat erläutern werde, was aus DevOps-Sicht insbesondere während des kontinuierlichen Bereitstellungsprozesses nützlich sein wird.
Installation von Ansible mit YUM
Wie bereits erwähnt, werde ich eine Steuermaschine und eine Zielmaschine verwenden. Führen Sie zu Beginn der Installation die folgenden Schritte auf beiden Maschinen aus.
zu) Erstellen Sie auf beiden Computern eine gemeinsame ID, z Beispiel , ansible mit SUDO-Berechtigungen. Diese ID wird für die Kommunikation zwischen allen beteiligten Maschinen zur Automatisierung von Aufgaben verwendet.
# useradd ansible # passwd ansible
b) Bearbeiten Sie die / etc / ssh / sshd_config Datei auf der Steuermaschine und kommentieren Sie die Zeilen für PasswordAuthentication und PermitRootLogin
Führen Sie die obigen Schritte auf beiden Maschinen aus. Starten Sie nach Abschluss des Vorgangs neu sshd Service an beiden Maschinen.
# systemctl restart sshd
c) Für die vollständige Automatisierung von Aufgaben benötigen wir eine kennwortlose SSH-Authentifizierung. Andernfalls wird der gesamte Prozess nicht verwendet, wenn Sie das Kennwort jedes Mal eingeben müssen.
Veröffentlichen Sie also die oben vorgenommenen Änderungen, wenn wir den Befehl ssh und ssh ausführen. Wir müssen jedes Mal das Kennwort eingeben, was nicht die richtige Vorgehensweise zum Ausführen von Ansible-Aufgaben ist.
d) Um die kennwortlose Authentifizierung zu aktivieren, führen Sie die folgenden Schritte aus. Fügen Sie zunächst den Benutzer hinzu ansible zum / etc / sudoers Datei auf beiden Computern, die den Benutzer aktivieren ansible um einen Befehl auszuführen, der Root-Rechte erfordert.
Speichern und beenden Sie die Datei, nachdem Sie den Benutzer hinzugefügt haben.
ist) In Zukunft werden wir den Benutzer verwenden ansible alle Schritte ausführen. Wechseln Sie also zum Benutzer ansible.
Steuermaschine su - ansible UND Zielmaschine überragend
Steuermaschine ssh-keygen
Zielmaschine ssh-keygen
Kopieren Sie den SSH-Schlüssel auf den Zielcomputer und umgekehrt.
Steuermaschine ssh-copy-id
Zielmaschine ssh-copy-id
Phasen des Lebenszyklus der Softwareentwicklung
Wir können uns jetzt anmelden, ohne das Passwort einzugeben. Nach dem Auschecken der SSH-Konnektivität auf beiden Maschinen und als ansible Benutzer angemeldet sein.
Steuermaschine: ssh ansible @
Zielmaschine: ssh ansible @
f) Installieren Sie wget, wenn es nicht auf beiden Computern installiert ist.
$ sudo yum install wget -y
G) Wir können jetzt installieren ansible Nur auf der Steuerungsmaschine durch Aktivieren des EPEL-Repos von Fedora, das zusätzliche Softwarepakete bereitstellt. Führen Sie zur Installation die folgenden Schritte aus ANSIBLE.
$ wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo rpm -ivh epel-release-latest-7.noarch.rpm $ sudo yum install ansible -y $ ansible --version
Die verwendete ansible-Version ist 2.5.3
h) Bearbeiten Sie die ansible.cfg Datei und aktivieren Sie den Parameter Inventardatei auf dem Steuergerät.
$ sudo vi /etc/ansible/ansible.cfg
ich) Ansible verwendet das Inventarkonzept, um die Zielcomputer zu verwalten und zu verfolgen. Standardmäßig befindet sich diese Datei in / etc / ansible / hosts und kann auch geändert werden. Eine Hostdatei besteht aus Gruppen zur besseren Klassifizierung und mehreren Computern unter der Gruppe. Alle erforderlichen Maschinen können zu diesen Gruppen hinzugefügt werden.
Jede Gruppe wird durch eine eckige Klammer und einen Gruppennamen gekennzeichnet. Ein Server kann tatsächlich in mehreren Gruppen vorhanden sein.
Bearbeiten Sie die Inventardatei / etc / ansible / hosts und fügen Sie alle Server hinzu, die verwaltet werden müssen.
j) Um die Konnektivität der Server unter der Gruppe des Webservers zu testen, führen Sie Folgendes aus: ansible ping Befehl wie gezeigt. Hier Klingeln ist ein Modul, das eine bestimmte Funktion ausführt, um zu testen, ob die Hosts wie in der Inventardatei definiert verbunden werden können oder nicht. Wir werden im nächsten Abschnitt mehr über verschiedene Module und ihre Beispiele erfahren.
$ ansible webservers –m ping
Um die Hosts in der Inventardatei aufzulisten, können Sie den folgenden Befehl ausführen
$ ansible webservers --list-hosts
Ansible Verwendung
Ansible bestehen aus 3 Hauptkomponenten
- Steuermaschine
- Inventar
- Spielbuch
Die Steuerungsmaschine verwaltet die Ausführung des Playbooks. Es kann auf Ihrem Laptop oder auf jedem Computer im Internet installiert werden.
Die Inventardatei enthält eine vollständige Liste aller Zielcomputer, auf denen verschiedene Module ausgeführt werden, indem eine SSH-Verbindung hergestellt und die erforderlichen Softwareprogramme installiert werden.
Das Playbook besteht aus Schritten, die der Kontrollmechanismus auf den in der Inventardatei definierten Servern ausführt.
Es ist sehr wichtig zu verstehen, dass Ansible über das SSH-Protokoll, das eine sichere Methode für die Remote-Anmeldung darstellt, mit allen im Inventar definierten Servern interagiert. Jeder Vorgang wird ausgeführt und die Dateiübertragung wird verschlüsselt.
Wie Sie im vorherigen Abschnitt gesehen haben, verwendet Ansible keine Datenbank für die Installation und ist sehr einfach zu installieren. Wir werden nun mit der tatsächlichen Verwendung von Ansible fortfahren, beginnend mit Modulen, dem Hauptbaustein.
Ansible Module
Module sind die Hauptbausteine von Ansible und im Grunde genommen wiederverwendbare Skripte, die von Ansible-Playbooks verwendet werden. Ansible wird mit einer Reihe wiederverwendbarer Module geliefert. Dazu gehören Funktionen zum Steuern von Diensten, zur Installation von Softwarepaketen, zum Arbeiten mit Dateien und Verzeichnissen usw.
Die Syntax lautet wie folgt, während die Ad-hoc-Befehle ausgeführt werden, mit denen einzelne oder einfache Aufgaben nur einmal ausgeführt werden können und die später nicht mehr ausgeführt werden müssen. Zum Z.B. Installieren Sie einfach Tomcat auf allen Servern.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
Schauen wir uns einige der beliebtesten Ansible-Module und ihre Verwendung über die Ad-hoc-Befehle und später im Playbook an.
# 1) Setup-Modul
Um Informationen über die Netzwerk- oder Hardware- oder Betriebssystemversion oder speicherbezogene Informationen zu erhalten, hilft das Setup-Modul dabei, diese Informationen über die Zielcomputer zu sammeln. Auf der Steuerung führt die Maschine den folgenden Befehl aus.
$ ansible webservers –m setup
# 2) Befehlsmodul
Das Befehlsmodul führt einfach einen bestimmten Befehl auf dem Zielcomputer aus und gibt die Ausgabe aus.
Einige der Beispiele sind unten angegeben
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Shell-Modul
Um einen Befehl in der Shell Ihrer Wahl auszuführen, können Sie das Shell-Modul verwenden. Die Shell-Modulbefehle werden in der Shell / bin / sh ausgeführt, und Sie können Operatoren wie '>' oder '|' (Pipe-Symbol oder sogar Umgebungsvariablen) verwenden.
Der Unterschied zwischen dem Shell- und dem Befehlsmodul besteht also hauptsächlich darin, dass Sie das Befehlsmodul verwenden können, wenn Sie die Operatoren wie die genannten nicht verwenden müssen.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
Überprüfen Sie auf den Computern unter der Webserver-Gruppe die erstellte Datei und führen Sie den Befehl aus, um die Textdatei anzuzeigen.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Benutzermodul
Mit diesem Modul können Benutzer erstellt oder gelöscht werden.
Benutzer hinzufügen
$ ansible webservers -m user -a 'name=user1 password=user1' --become
Benutzer löschen
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Optionen:
- werden - Berechtigung des Superusers, den Befehl auszuführen
- Zustand = abwesend um den Benutzer zu löschen
# 5) Dateimodul
Dieses Modul wird zum Erstellen von Dateien, Verzeichnissen, Festlegen oder Ändern von Dateiberechtigungen und -besitzern usw. Verwendet
Beispiel 1: Erstellen Sie eine Datei
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
Beispiel 2: Erstellen Sie ein Verzeichnis
Um ein Verzeichnis mit dem Dateimodul zu erstellen, müssen Sie zwei Parameter festlegen.
- Pfad (Alias - Name, Ziel) - Dies ist der absolute Pfad des zu erstellenden Verzeichnisses.
- Status - Sie sollten den Wert als 'Verzeichnis' eingeben. Standardmäßig lautet der Wert 'Datei'.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
Beispiel 3: Löschen Sie eine Datei
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Beispiel 4: Löschen Sie ein Verzeichnis
Sie können ein Verzeichnis löschen, indem Sie den Statusparameterwert auf setzen abwesend . Das Verzeichnis und sein gesamter Inhalt werden gelöscht.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
beste Seite, um Anime online zu sehen
# 6) Modul kopieren
Es wird zum Kopieren von Dateien auf mehrere Zielcomputer verwendet.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Verwalten von Softwarepaketen
Wenn Sie Softwarepakete über 'yum' oder 'apt' installieren müssen, können Sie die folgenden Befehle verwenden.
Beispiel 1: Installieren Sie GIT
$ ansible webservers –m yum -a “name=git state=present” --become
Im rechten Fenster können Sie sehen, ob git nicht installiert ist. Der Befehl wird nicht gefunden. Nach der Installation wird die Ausgabe angezeigt.
In diesem Befehl wird Zustand = vorhanden prüft, ob das Paket installiert ist oder nicht, und wenn es nicht installiert ist, wird die neueste Version installiert.
Beispiel 2: Überprüfen Sie, ob das Paket installiert ist, und aktualisieren Sie es auf die neueste Version.
$ ansible webservers -m yum -a “name=git state=latest”
Im obigen Befehl Zustand = spätestens aktualisiert das Paket nur auf die neueste Version.
Beispiel 3: Installieren Sie den Apache Webserver
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Beispiel 4: Überprüfen Sie, ob Maven installiert ist oder nicht.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Verwalten des Servicemoduls
Um Dienste mit ansible zu verwalten, verwenden wir ein Modul 'Bedienung'.
Starten eines Dienstes
$ ansible webservers -m service -a “name=httpd state=started” --become
Beenden eines Dienstes
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Dienst neu starten
$ ansible webservers -m service -a “name=httpd state=restarted --become
Klicken Hier um die vollständige Modulliste zu erhalten.
Zusammenfassung
In diesem Tutorial habe ich Ihnen die grundlegenden Konzepte und Komponenten von Ansible vorgestellt. Außerdem haben wir mithilfe von Ansible-Modulen, die die Hauptkomponente bei der Ausführung von Ansible darstellen, mehr über die Installation, Konfiguration und Verwendung von Ansible erfahren.
In unserem nächsten Tutorial konzentrieren wir uns auf den sehr wichtigen Aspekt des Schreibens von Playbooks für die Aufgabenautomatisierung und von Ansible-Tresoren, um vertrauliche Daten in verschlüsselten Dateien zu speichern.
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Ausführliche Eclipse-Tutorials für Anfänger
- Ansible Rollen, Integration mit Jenkins in DevOps und EC2-Modulen
- Aufgabenautomatisierung mit Ansible Playbooks und Ansible Vaults mit Beispielen
- Schrittweise Installation und Einrichtung von Appium Studio
- Einführung in die Java-Programmiersprache - Video-Tutorial
- WebDriver Gesamte Einrichtung und Installation mit Eclipse - Selenium Tutorial # 9
- Jira Download und Installation mit Jira License Setup
- Python-Einführungs- und Installationsprozess