Einführung in Ansible Interview Fragen und Antworten

Ansible ist eine Open-Source-Automatisierungsplattform. Ansible hilft bei der Automatisierung von Aufgaben, der Bereitstellung von Anwendungen und der Verwaltung der Konfiguration. Ansible ist in Python-Sprache entwickelt. Ansible besteht aus zwei Servern, die die Maschine und die Knoten steuern. Diese beiden Server werden von SSH ohne Ausfallzeit verwaltet. Mit dem SSH-Protokoll stellt Ansible Module auf Knoten bereit. Diese werden hauptsächlich auf Remote-Knoten zwischengespeichert. Ansible kann über eine SSH-Verbindung mehr als 100 Knoten in einem einzigen System verwalten.

Nachfolgend finden Sie eine Liste der häufigsten Fragen und Antworten zu Ansible-Vorstellungsgesprächen für 2019:

Sie haben also endlich Ihren Traumjob in Ansible gefunden, fragen sich aber, wie Sie das Ansible-Interview knacken und was die wahrscheinlichen 2019 Ansible-Interview-Fragen sein könnten. Jedes Interview ist anders und der Umfang eines Jobs ist auch anders. In Anbetracht dessen haben wir die häufigsten Fragen und Antworten zu Ansible-Vorstellungsgesprächen zusammengestellt, um Ihnen den Erfolg Ihres Vorstellungsgesprächs zu erleichtern.

1. Was ist einsehbar?

Antworten:
Ansible ist eine Open-Source-Automatisierungsplattform. Es kann uns bei der Konfigurationsverwaltung, der Anwendungsbereitstellung oder der Aufgabenautomatisierung helfen. Es kann eine Anwendung mithilfe von SSH ohne Ausfallzeit bereitstellen. Ansible ist in Python-Sprache entwickelt oder geschrieben.

2. Was sind die Vorteile und die Verwendung von Ansible?

Antworten:
Ansible hat eine Vielzahl von Vorteilen:
Kein Agent: Für die Einrichtung von Ansible ist kein Agent erforderlich. Wenn Box ssh unterstützt und Python hat, ist es kein Problem, Ansible einzurichten.
Idempotent: Die Architektur von Ansible orientiert sich vollständig am Konzept der Idempotenz. Die Haupt- oder Kernidee ist, dass nur die Dinge hinzugefügt werden müssen, die benötigt werden, und diese Dinge können ohne Nebenwirkungen wiederholt werden.
Deklarativ, nicht prozedural: Eine normale Einstellung anderer Konfigurationswerkzeuge, einem prozeduralen Prozess zu folgen, bedeutet, dies zu tun, dann das zu tun und so weiter. Aber normalerweise schreibt Ansible die Beschreibung des von uns gewünschten Maschinenzustands und unternimmt geeignete Schritte, um diese Beschreibung zu erfüllen.
Sehr einfach zu erlernen und mit geringem Overhead.

3. Wie funktioniert Ansible?

Antworten:
Ansible ist hauptsächlich in zwei Servertypen unterteilt: Controlling Machine und Nodes.
Ansible wird auf dem steuernden Computer installiert und die Knoten werden von SSH auf diesem steuernden Computer verwaltet. Die Knotenpositionen werden angegeben, indem eine Maschine über ihren Bestand gesteuert wird.
Ansible stellt Module mithilfe des SSH-Protokolls auf Knoten bereit. Diese Module werden hauptsächlich temporär auf Remote-Knoten gespeichert und kommunizieren über eine JSON-Verbindung über die Standardausgabe mit dem Ansible-Computer. Die Installation des Agenten auf Remote-Knoten ist für Ansible nicht erforderlich, da kein Agent vorhanden ist. Jeder Hintergrundprozess oder Dämonprozess, der nicht für Ansible ausgeführt wird, wenn keine Knoten verwaltet werden. Ansible kann mehr als 100 Knoten in einem einzelnen System über eine SSH-Verbindung verarbeiten, und nur ein einziger Befehl 'ansible' kann den gesamten Vorgang verarbeiten. In einigen Szenarien können wir jedoch 'Playbooks' erstellen, in denen wir mehrere Befehle für die Bereitstellung ausführen müssen. Playbooks enthalten tatsächlich alle sequentiellen Befehle, die ausgeführt werden müssen, um mehrere Aufgaben auszuführen. Playbooks sind im YAML-Dateiformat.

4. Wozu dient Ansible?

Antworten:
Ansible wird hauptsächlich in der IT-Infrastruktur zum Verwalten oder Bereitstellen von Anwendungen auf Remoteknoten verwendet. Angenommen, Sie möchten eine Anwendung auf 100 Knoten implementieren, indem Sie nur einen Befehl ausführen. Dann wird Ansible tatsächlich angezeigt. Sie benötigen jedoch einige Kenntnisse über Ansible-Skripts, um diese zu verstehen oder auszuführen.

5. Wann sollte ich (()) verwenden? Wie interpoliere ich Variablen oder dynamische Variablennamen?

Antworten:
Eine der Standardregeln lautet "Immer (()) verwenden, außer wenn:". Bedingungen werden immer über Jinja2 ausgeführt, um den Ausdruck aufzulösen. Also, wenn: failed_when: und changed_when: immer als Vorlage verwendet werden und wir das Hinzufügen von (()) vermeiden sollten.
In anderen Fällen ist es sehr schwierig, zwischen einer undefinierten Variablen und einem String zu unterscheiden, es sei denn, in der Klausel when müssen Klammern verwendet werden.

6. Wie erstelle ich verschlüsselte Passwörter für das Benutzermodul?

Antworten:
Ein normales Dienstprogramm mkpasswd, das in einem normalen Linux-System verfügbar ist, ist eine großartige Option zum Generieren von verschlüsselten Passwörtern.
mkpasswd –method = sha-512
Ist dieses Dienstprogramm in unserem System nicht verfügbar, nehmen wir an, wir verwenden OS X, und können dieses Kennwort auch mit Python problemlos generieren. Aus dem gleichen Grund müssen wir die Passlib-Passwort-Hashing-Bibliothek in unserem System installieren.
Nach der Installation werden durch Ausführen des Befehls SHA512-Kennwortwerte generiert.
python -c “aus passlib.hash import sha512_crypt; Import getpass; print sha512_crypt.encrypt (getpass.getpass ()) ”

7.Was ist der beste Weg, um Inhalte wiederverwendbar / weitervertreibbar zu machen?

Antworten:
Es gibt drei Möglichkeiten, um Dateien in Playbooks von Ansible wiederzuverwenden. 3 Möglichkeiten umfassen Importe und Rollen.
Include und Import helfen tatsächlich dabei, mehrere kleine Dateien eines großen Wiedergabebuchs zu erstellen oder ein großes Wiedergabebuch aus mehreren kleinen Dateien aufzuteilen. Diese kleinen Dateien können für mehrere übergeordnete Playbooks oder sogar für mehrere Male innerhalb desselben Playbooks verwendet werden.
Rollen werden hauptsächlich zum gemeinsamen Verwalten mehrerer Aufgaben in einem Paket verwendet. Es kann Variablen, Handler oder auch Module und andere Plugins enthalten. Rollen können auch von Ansible Galaxy hochgeladen und geteilt werden.

8. Wie kopiere ich Dateien rekursiv auf einen Zielhost?

Antworten:
Das Kopiermodul von Ansible hat einen rekursiven Parameter. Am effizientesten ist es jedoch, ein Synchronisierungsmodul zu verwenden, das rsync umschließt. Für das Synchronisierungsmodul können wir den folgenden Befehl verwenden:
-name: Kopiere über die h5bp Konfiguration
synchronisiere: mode = pull src = / tmp / server-configs-nginx / ((item)) dest = / etc / nginx / ((item))
with_items:
- „Pantomime. Typen ”
- "h5bp /"
Verwenden Sie zum Kopieren von Remote zu Remote denselben Befehl wie delegate_to (als Remote-Quelle) und current inventory_host (als Remote-Ziel).

9.Ansible Playbooks vs Roles und Ansible VS Puppet

Antworten:
Ansible Playbook ist ein wirklich einfaches Konfigurationsmanagement- und Bereitstellungssystem für mehrere Computer. Wenn wir es mit anderen vergleichen, ist es sehr beliebt und gut für die Bereitstellung einer komplexen Anwendung geeignet.
Und Rollen in Ansible laden automatisch bestimmte var_files, Tasks und Handler basierend auf einer bekannten Dateistruktur. Rollen, die hauptsächlich den gesamten Inhalt gruppieren und zusammen verpacken. Es ermöglicht auch das einfache Teilen von Rollen mit anderen Benutzern.

AnsibleMarionette
Hervorragende Leistung, Agentenlose Installation und Bereitstellung.Die Leistung ist im Vergleich zu Ansible wenig fragwürdig und es handelt sich um eine agentbasierte Installation.
Basierend auf der Python-SpracheBasierend auf Ruby-Sprache
CLI akzeptiert Befehle in fast allen Sprachen.Alle Kunden müssen die Puppet DSL erlernen.
Da es sehr und nicht gut getestet ist, kann es nicht immer eine richtige und ausgereifte Lösung für jede Situation geben.Es bietet immer eine ausgereifte Lösung im Vergleich zu Ansible.
GUI ist in Arbeit.Gute GUI
Keine Unterstützung für WindowsUnterstützung für alle gängigen Betriebssysteme

10. Unterschied zwischen einem Variablennamen und Umgebungsvariablen?

Antworten:

VariablennamenUmgebungsvariable
Der Variablenname kann durch Hinzufügen von String erstellt werden.Um auf die Umgebungsvariable zugreifen zu können, müssen Sie auf die vorhandene Variable zugreifen.
((hostvars (inventory_hostname) ('ansible_' + which_interface) ('ipv4') ('address')))#… Vars: local_home: “((lookup ('env', 'HOME')))”
Wir können Strings hinzufügenWenn wir die Variable hinzufügen möchten, müssen wir den Abschnitt für erweiterte Playbooks öffnen.
Für den Variablennamen verwenden wir die IPV4-Adresse.Verwenden Sie für Remote-Umgebungsvariablen ((ansible_env.SOME_VARIABLE)).

Empfohlener Artikel

Dies war ein Leitfaden für die Liste der Fragen und Antworten zu Ansible-Vorstellungsgesprächen, damit der Kandidat diese Fragen zu Ansible-Vorstellungsgesprächen leicht durchgreifen kann. Dies ist der wertvollste und nützlichste Beitrag zu Fragen und Antworten zu Ansible-Vorstellungsgesprächen. Weitere Informationen finden Sie auch in den folgenden Artikeln.

  1. 13 Erstaunliche Fragen und Antworten zu Database Testing-Vorstellungsgesprächen
  2. Kennen Sie die Top 5 nützliche Fragen und Antworten zu SSIS-Vorstellungsgesprächen
  3. Die 5 wichtigsten Fragen und Antworten zu Cognos-Vorstellungsgesprächen
  4. Die 5 nützlichsten Fragen und Antworten zu SSAS-Vorstellungsgesprächen
  5. Ansible vs Puppet vs Chef | Top 18 Unterschiede