Ansible - Einführung

Ansible ist eine einfache Open-Source-IT-Engine, die die Anwendungsbereitstellung, die Intra-Service-Orchestrierung, die Cloud-Bereitstellung und viele andere IT-Tools automatisiert.

Ansible ist einfach bereitzustellen, da keine Agenten oder benutzerdefinierte Sicherheitsinfrastruktur verwendet werden.

Ansible verwendet Playbook, um Automatisierungsjobs zu beschreiben, und Playbook verwendet eine sehr einfache Sprache, d. H. YAML(Es ist eine für Menschen lesbare Datenserialisierungssprache und wird häufig für Konfigurationsdateien verwendet, kann jedoch in vielen Anwendungen verwendet werden, in denen Daten gespeichert werden.) Dies ist für Menschen sehr einfach zu verstehen, zu lesen und zu schreiben. Daher besteht der Vorteil darin, dass selbst die Mitarbeiter der IT-Infrastruktur das Playbook lesen und verstehen und bei Bedarf debuggen können (YAML - Es ist in lesbarer Form).

Ansible ist für die Bereitstellung auf mehreren Ebenen konzipiert. Ansible verwaltet nicht jeweils ein System, sondern modelliert die IT-Infrastruktur, indem es beschreibt, dass alle Ihre Systeme miteinander verbunden sind. Ansible ist völlig agentenlos, was bedeutet, dass Ansible Ihre Knoten über ssh verbindet (standardmäßig). Wenn Sie jedoch eine andere Verbindungsmethode wie Kerberos wünschen, bietet Ihnen Ansible diese Option.

Nach dem Herstellen einer Verbindung zu Ihren Knoten überträgt Ansible kleine Programme, die als "Ansible-Module" bezeichnet werden. Ansible führt diese Module auf Ihren Knoten aus und entfernt sie, wenn Sie fertig sind. Ansible verwaltet Ihr Inventar in einfachen Textdateien (dies sind die Hosts-Dateien). Ansible verwendet die Hosts-Datei, in der die Hosts gruppiert und die Aktionen für eine bestimmte Gruppe in den Playbooks gesteuert werden können.

Beispiel-Hosts-Datei

Dies ist der Inhalt der Hosts-Datei -

#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.

[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh

[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh

Was ist Konfigurationsmanagement

Konfigurationsmanagement in Bezug auf Ansible bedeutet, dass die Konfiguration der Produktleistung beibehalten wird, indem Aufzeichnungen geführt und detaillierte Informationen aktualisiert werden, die die Hardware und Software eines Unternehmens beschreiben.

Zu diesen Informationen gehören normalerweise die genauen Versionen und Aktualisierungen, die auf installierte Softwarepakete angewendet wurden, sowie die Speicherorte und Netzwerkadressen von Hardwaregeräten. Zum Beispiel, wenn Sie die neue Version von installieren möchtenWebLogic/WebSphere Server auf allen in Ihrem Unternehmen vorhandenen Computern. Es ist nicht möglich, dass Sie jeden einzelnen Computer manuell aktualisieren.

Sie können WebLogic / WebSphere auf einmal auf allen Ihren Computern installieren, wobei Ansible-Playbooks und Inventar auf einfachste Weise erstellt wurden. Sie müssen lediglich die IP-Adressen Ihrer Knoten im Inventar auflisten und ein Playbook schreiben, um WebLogic / WebSphere zu installieren. Führen Sie das Playbook von Ihrem Steuergerät aus und es wird auf allen Ihren Knoten installiert.

Wie funktioniert Ansible?

Das Bild unten zeigt die Arbeitsweise von Ansible.

Ansible works indem Sie eine Verbindung zu Ihren Knoten herstellen und kleine Programme mit dem Namen "Ansible Module "zu ihnen. Ansibleführt diese Module dann aus (standardmäßig über SSH) und entfernt sie, wenn sie fertig sind. Ihre Modulbibliothek kann sich auf jedem Computer befinden, und es sind keine Server, Daemons oder Datenbanken erforderlich.

Der Verwaltungsknoten im obigen Bild ist der Steuerknoten (Verwaltungsknoten), der die gesamte Ausführung des Playbooks steuert. Dies ist der Knoten, von dem aus Sie die Installation ausführen. Die Inventardatei enthält die Liste der Hosts, auf denen die Ansible-Module ausgeführt werden müssen, und der Verwaltungsknoten stellt eine SSH-Verbindung her, führt die kleinen Module auf dem Host-Computer aus und installiert das Produkt / die Software.

Beauty von Ansible ist, dass es die Module entfernt, sobald diese so effektiv installiert sind, dass es eine Verbindung zum Host-Computer herstellt, die Anweisungen ausführt und bei erfolgreicher Installation den Code entfernt, der auf den ausgeführten Host-Computer kopiert wurde.