So führen Sie einen Befehl mit dem Ansible-Shell-Modul aus

Ausführen eines Befehls mit dem Ansible-Shell-Modul Ansible enthält ein Shell-Modul, mit dem Befehle auf Remotecomputern ausgeführt werden können.

Ansible ist ein unglaublich flexibles Tool. Mit ihm können Sie hochkomplizierte und leistungsstarke Playbooks erstellen, mit denen Sie eine große Anzahl von Servern in Ihrem Rechenzentrum steuern und verwalten können. Eine Möglichkeit, Ansible noch flexibler zu gestalten, ist die Verwendung des Shell-Moduls.

Mit dem Ansible-Shell-Modul können Sie Befehle auf Remote-Knoten ausführen. Ich werde Ihnen zeigen, wie Sie das Shell-Modul in Ihren Ansible-Playbooks verwenden können. Ob Sie es glauben oder nicht, dieses Tool ist recht einfach zu bedienen.

Einstellungskit: Datenbankadministrator (TechRepublic Premium)

Was du brauchen wirst

Die einzigen Dinge, die Sie benötigen, um diese Arbeit zu machen, sind:

  • Eine Instanz von Ansible wird ausgeführt (siehe: So installieren Sie das Ansible-Serververwaltungssystem unter Ubuntu)

  • Einrichtung der SSH-Schlüsselauthentifizierung zwischen dem Ansible-Server und Remotecomputern

  • Ein Remote-Server, an den die Befehle gesendet werden sollen

  • Ein Benutzer mit Sudo-Berechtigungen

Ihre Ansible-Hosts-Datei

Als Erstes erstellen Sie einen Host-Eintrag für Ihre Remote-Server. Melden Sie sich dazu bei Ihrem Ansible-Server an und geben Sie den folgenden Befehl ein:

 sudo nano / etc / ansible / hosts 

Scrollen Sie zum Ende dieser Datei und fügen Sie einen neuen Eintrag hinzu (ändern Sie diesen Eintrag, um ihn Ihren Anforderungen anzupassen):

 nextcloud 192.168.1.15 

Speichern und schließen Sie die Datei.

Das Ansible-Spielbuch

Wir werden ein sehr einfaches Ansible-Playbook erstellen, das eine App auf dem Remote-Computer installiert. Natürlich können Sie jeden gewünschten Befehl ausführen, aber da für die Installation einer App ein Sudo-Zugriff erforderlich ist, können wir zeigen, wie dies geschieht.

Das Playbook, das wir erstellen, sieht folgendermaßen aus:

 - Hosts: nextcloud Aufgaben: - Name: Führen Sie einen Befehl mit dem Shell-Modul aus. Werden: true werden_Benutzer: Root-Shell: apt-get install clamav -y 

Wir müssen werden: true einschließen, um Ansible anzuweisen, dass wir eskalierte Berechtigungen benötigen, und werden_user: root, um den Benutzer anzugeben, der den Befehl ausführen wird. Hinweis: Obwohl der Root-Benutzer unter Ubuntu deaktiviert ist, funktioniert die Verwendung von root in dieser Instanz tatsächlich. Schließlich ist der Shell-Eintrag der Befehl, der auf dem Remotecomputer ausgeführt wird.

Speichern und schließen Sie die Datei (nennen Sie sie so etwas wie myfile.yml).

So führen Sie das Playbook aus

Nachdem unsere Hosts vorhanden sind und unser Spielbuch geschrieben wurde, können wir das Spielbuch jetzt ausführen. Geben Sie dazu den folgenden Befehl ein:

 ansible-playbook myfile.yml --ask-werden-pass 

Die Option --ask-werden-pass weist Ansible an, nach dem Kennwort zu fragen, das für die Option werden_benutzer im Playbook verwendet werden soll. Sie werden aufgefordert, das Kennwort einzugeben. Sobald Sie das Kennwort get eingegeben haben, werden Sie nach dem Kennwort für die SSH-Schlüsselauthentifizierung gefragt, und das Playbook wird ausgeführt. Sobald das Playbook fertig ist, sollte clamav auf dem Remote-Computer installiert sein (oder was auch immer Sie tun möchten).

Und das ist alles, was Sie zur Verwendung des Ansible-Shell-Moduls benötigen. Nutzen Sie dieses praktische Tool, um die Funktionen Ihrer Ansible-Playbooks zu erweitern.

Newsletter zu Trends im Rechenzentrum

DevOps, Virtualisierung, Hybrid Cloud, Speicher und betriebliche Effizienz sind nur einige der Themen im Rechenzentrum, die wir hervorheben werden. Wird montags und mittwochs geliefert

Heute anmelden

© Copyright 2020 | mobilegn.com