Top 19 Ansible Interview Fragen und Antworten

Anonim

PDF Herunterladen

1) Was ist Ansible?

Ansible ist ein Konfigurationsmanagementsystem. Es wird zum Einrichten und Verwalten von Infrastruktur und Anwendungen verwendet. Benutzer können Anwendungen mithilfe von SSH bereitstellen und aktualisieren, ohne einen Agenten auf einem Remote-System installieren zu müssen.

2) Was nützt Ansible?

Ansible wird zum Verwalten der IT-Infrastruktur und zum Bereitstellen von Software-Apps auf Remote-Knoten verwendet.

Mit Ansible können Sie beispielsweise mit einem einzigen Befehl als Anwendung auf vielen Knoten bereitstellen. Dafür sind jedoch einige Programmierkenntnisse erforderlich, um die ansiblen Skripte zu verstehen.

3) Was ist Ansible Galaxy?

Ansible kann über den Befehl ansible mit konfigurierten Clients über die Befehlszeile kommunizieren. Außerdem können Sie die Konfiguration mithilfe des Befehls ansible-playbook automatisieren. Um die Basisverzeichnisstruktur zu erstellen, können Sie ein mit Ansible gebündeltes Tool verwenden, das als Ansible-Galaxie bezeichnet wird.

Befehl:

$ ansible-galaxy init azavea. packer

azavea.packer wurde erfolgreich erstellt

4) Was ist kontinuierliche Lieferung?

Bei der kontinuierlichen Bereitstellung wird die Software sofort nach ihrer Entwicklung bereitgestellt. Bei dieser Methode müssen wir das Versionskontrollsystem verwenden. Die Software wird in Live-Produktionssystemen ständig aktualisiert.

5) Wie kann in Ansible auf Shell-Umgebungsvariablen zugegriffen werden?

Wenn Sie in Ansible auf vorhandene Variablen zugreifen möchten, muss der Benutzer das Such-Plugin 'env' verwenden. Beispiel für den Zugriff auf den Wert der Office-Umgebung auf dem Verwaltungscomputer:

Sie müssen folgenden Code schreiben:

---#… vars:local_home: "{{ lookup('env','Office') }}"I{{ ansible_env.SOME_VARIABLE }}

6) Welchen Code müssen Sie schreiben, um auf einen Variablennamen zuzugreifen?

Variablennamen können mithilfe der folgenden Methode erstellt werden:

{{ hostvars[inventory_hostname]['ansible_' + which_interface]['ipv4']['address'] }} 

Die Methode zur Verwendung von Hostvars ist wichtig, da es sich um ein Wörterbuch des gesamten Namespace von Variablen handelt. Die Variable 'inventar_hostname' gibt den aktuellen Host an, über den Sie in der Hostschleife schauen.

7) Erklären Sie, wie Sie Cowsay deaktivieren können.

Wenn coway installiert ist und Sie Playbooks in Ansible ausführen, können Sie coway mithilfe der folgenden Optionen deaktivieren:

  1. Deinstallieren Sie coway
  2. Einrichten des Werts für die Umgebungsvariable

export ANSIBLE_NOCOWS = 1

8) Erklären Sie, wie Sie Dateien rekursiv auf einen Zielhost kopieren können.

Das Modul "Kopieren" verfügt über einen rekursiven Parameter. Wenn Sie jedoch möchten, dass dies für eine große Anzahl von Dateien effizienter ist, ist das Modul „Synchronisieren“ die beste Option für Sie.

9) Wie können Sie eine Änderung an der Dokumentation in Ansible einreichen?

Die Dokumentation für Ansible wird im Projekt-Git-Repository gespeichert. Es enthält vollständige Anweisungen für Beiträge. Diese finden Sie in den Dokumenten.

10) Was ist die beste Methode, um Inhalte wiederverwendbar / weiterverteilbar zu machen?

Sie können alles über „Rollen“ in der Dokumentation zu den Playbooks lesen. Dies hilft dabei, Playbook-Inhalte in sich geschlossen und für andere ansible Benutzer gemeinsam nutzbar zu machen.

11) Was ist Ansible Tower?

Ansible Tower ist ein Tool, mit dem Ansible sehr einfach zu bedienen ist. Es fungiert als Hub für die Aufgabenautomatisierung. Der Turm kann bis zu 10 Knoten kostenlos genutzt werden.

12) Wie können die für den Host definierten Inventarvariablen überprüft werden?

Verwenden Sie dazu diesen Befehl:

ansible -m debug -a "var=hostvars['hostname']" localhost

13) Geben Sie den Unterschied zwischen Variablenname und Umgebungsvariablen an.

Variablennamen

Umgebungsvariablen

Es kann durch Hinzufügen von Zeichenfolgen erstellt werden. Um auf die Umgebungsvariable zuzugreifen, müssen Sie auf vorhandene Variablen zugreifen.
{{hostvars [inventar_hostname] ['ansible_' + which_interface] ['ipv4'] ['address']}} #… Vars: local_home: “{{lookup ('env', 'HOME')}}”
Ermöglicht das Hinzufügen von Zeichenfolgen Um Umgebungsvariablen festzulegen, müssen Sie den Abschnitt "Erweiterte Playbooks" lesen.
Verwendung des IPv4-Adresstyps für Variablennamen Wir verwenden die IPv4-Adresse. Verwenden Sie für Remote-Umgebungsvariablen {{ansible_env.SOME_VARIABLE}}

14) Was sind Ad-hoc-Befehle?

Sie können sich Ad-hoc-Befehle als eine Möglichkeit vorstellen, auf unseren Hosts Aktionen auszuführen, ohne ein Spielbuch zu schreiben. Zum Beispiel, wenn wir alle Hosts in einer bestimmten Gruppe (Webserver) neu starten möchten. Dann können Sie ein Playbook schreiben oder einfach einen einmaligen Ad-hoc-Befehl ausführen.

15) Erklären Sie Ansible Fakten

Sie können sich ansible Fakten als eine Möglichkeit für ansible vorstellen, Informationen über einen Host abzurufen und diese für einen einfachen Zugriff in Variablen zu speichern. Diese in vordefinierten Variablen gespeicherten Informationen können im Playbook verwendet werden. Um Fakten zu generieren, führt ansible das Setup-Modul aus.

16) Wie sehen Sie alle Variablen für einen Host?

Sie können sie mithilfe der variablen Hostvariablen sehen. Hier werden Hostvariablen mit dem Hostnamen als Schlüssel gespeichert. Um beispielsweise die für localhost definierten Variablen anzuzeigen, können Sie Folgendes ausführen:

ansible -m debug -a "var=hostvars[inventory_hostnam

17) Erklären Sie die Module in ansible

Module in Ansible sind idempotent. Unter dem Gesichtspunkt des RESTful-Service können Clients das gleiche Ergebnis erzielen, indem sie Module in Ansible verwenden, damit der Vorgang idempotent ist. Mehrere identische Anforderungen werden zu einer einzigen Anforderung.

In Ansible gibt es zwei verschiedene Modultypen:

  • Kern Module

  • Zusatzmodule

Kern Module

Das Ansible-Team wartet diese Modultypen und sie werden immer mit Ansible-Software geliefert. Sie geben auch allen Anfragen eine höhere Priorität als denen in den "Extras" -Repos.

Extras Module:

Diese Module werden derzeit mit Ansible gebündelt, sind jedoch möglicherweise in Zukunft separat erhältlich. Sie werden auch hauptsächlich von der Ansible-Community gepflegt. Diese Module können weiterhin verwendet werden, können jedoch eine geringere Antwortrate auf Probleme und Pull-Anforderungen erhalten.

18) Wann sollten Sie Spielbücher und Rollen testen?

In ansible können Tests entweder in neuen Playbooks oder zu vorhandenen Playbooks hinzugefügt werden. Daher bietet der Großteil des Testjobs jedes Mal ein sauberes Hosting. Mit dieser Testmethode müssen Sie nur sehr wenig bis gar keine Codeänderungen vornehmen.

19) Erläutern Sie die Methode zum Erstellen einer leeren Datei mit Ansible

Um eine Datei zu erstellen und zu leeren, müssen Sie die angegebenen Schritte ausführen.

Schritt 1. Speichern Sie eine leere Datei im Dateiverzeichnis

Schritt 2. Kopieren Sie es auf den Remote-Host.