Suche…


Parameter

Parameter Erläuterung
ansible_connection Verbindungstyp zum Host Dies kann der Name eines der Verbindungs-Plugins von ansible sein. SSH Protokolltypen sind smart , ssh oder paramiko . Der Standard ist smart. Nicht-SSH-basierte Typen werden im nächsten Abschnitt beschrieben.
ansible_host Der Name des Hosts, zu dem eine Verbindung hergestellt werden soll, falls er sich von dem Alias ​​unterscheidet, den Sie ihm geben möchten.
ansible_port Die SSH-Portnummer, wenn nicht 22
ansible_user Der standardmäßige ssh-Benutzername, der verwendet werden soll.
ansible_ssh_pass Das zu verwendende ssh-Passwort (dies ist unsicher, wir empfehlen dringend die Verwendung von --ask-pass oder SSH-Schlüsseln)
ansible_ssh_private_key_file Von ssh verwendete private Schlüsseldatei. Nützlich, wenn mehrere Schlüssel verwendet werden und Sie keinen SSH-Agenten verwenden möchten.
ansible_ssh_common_args Diese Einstellung wird immer an die Standardbefehlszeile für sftp , scp und ssh angehängt. Nützlich zum Konfigurieren eines ProxyCommand für einen bestimmten Host (oder eine bestimmte Gruppe).
ansible_sftp_extra_args Diese Einstellung wird immer an die Standard- Sftp- Befehlszeile angehängt.
ansible_scp_extra_args Diese Einstellung wird immer an die Standard-Befehlszeile von scp angehängt.
ansible_ssh_extra_args Diese Einstellung wird immer an die standardmäßige ssh- Befehlszeile angehängt.
ansible_ssh_pipelining Bestimmt, ob SSH-Pipelining verwendet werden soll oder nicht. Dies kann die pipelining Einstellung in ansible.cfg .
ansible_become Äquivalent zu ansible_sudo oder ansible_su , um die Privilegieneskalation zu erzwingen
ansible_become_method Ermöglicht das Festlegen der Berechtigungseskalationsmethode
ansible_become_user Äquivalent zu ansible_sudo_user oder ansible_su_user : Ermöglicht die Einstellung des Benutzers, zu dem Sie eine Privilegieneskalation erhalten
ansible_become_pass Entspricht ansible_sudo_pass oder ansible_su_pass . Hier können Sie das Kennwort für die Berechtigungseskalation festlegen
ansible_shell_type Der Shell-Typ des Zielsystems. Sie sollten diese Einstellung nur verwenden, wenn Sie die ansible_shell_executable auf eine nicht mit Bourne (sh) kompatible Shell festgelegt haben. Standardmäßig werden Befehle mit der sh -Style-Syntax formatiert. Wenn Sie diese Einstellung auf csh oder fish , folgen die auf Zielsystemen ausgeführten Befehle stattdessen der Syntax dieser Shell.
ansible_python_interpreter Der Python-Pfad des Zielhosts. Dies ist nützlich für Systeme mit mehr als einem Python oder nicht unter / usr / bin / python wie * BSD oder wo / usr / bin / python kein Python der 2.X-Serie ist. Wir verwenden den Mechanismus / usr / bin / env nicht , da hierfür der Pfad des Remote-Benutzers richtig gesetzt werden muss. Außerdem wird davon ausgegangen , dass die ausführbare Python- Datei python genannt wird, wobei die ausführbare Datei etwa python2.6 heißen könnte .
ansible _ * _ dolmetscher Funktioniert für alles wie Ruby oder Perl und funktioniert genauso wie ansible_python_interpreter . Dies ersetzt Shebang von Modulen, die auf diesem Host ausgeführt werden.
ansible_shell_executable Dadurch wird die Shell festgelegt, die der anpassbare Controller auf dem Zielcomputer verwendet. Er überschreibt die executable in ansible.cfg die standardmäßig auf / bin / sh eingestellt ist . Sie sollten es eigentlich nur ändern, wenn / bin / sh nicht verwendet werden kann (dh / bin / sh ist nicht auf dem Zielcomputer installiert oder kann nicht von sudo ausgeführt werden.). Neu in Version 2.1.

Inventar mit Benutzername und Passwort

Inventory ist die Ansible-Methode, um alle Systeme in Ihrer Infrastruktur zu verfolgen. Hier ist eine einfache Inventardatei, die ein einzelnes System und die Anmeldeinformationen für Ansible enthält.

[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_ssh_pass=PassW0rd

Inventar mit benutzerdefiniertem privaten Schlüssel

[targethost]
192.168.1.1 ansible_user=mrtuovinen ssh_private_key_file=~/.ssh/custom_key

Inventar mit benutzerdefiniertem SSH-Port

[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_port=2222

Statisches Inventar an das Ansible-Playbook übergeben

ansible-playbook -i path/to/static-inventory-file -l myhost myplaybook.yml

Übergeben Sie das dynamische Inventar an das Ansible-Playbook

ansible-playbook -i path/to/dynamic-inventory-script.py -l myhost myplaybook.yml

Weitere Informationen finden Sie unter Dynamisches Inventar .

Inventar, Gruppen-Vars und Sie

Projektstruktur (Ansible Best Practice).

project/
  group_vars/
     development
  inventory.development
  playbook.yaml

Alles beginnt mit der Entwicklung von Lagerbeständen

[development]
dev.fakename.io

[development:vars]
ansible_host: 192.168.0.1
ansible_user: dev
ansible_pass: pass
ansible_port: 2232

[api:children]
development

Damit können Sie auf group_vars verlinken. Halten Sie die Daten für diese Umgebung "spezifisch" ...

---
app_name: NewApp_Dev
app_url: https://dev.fakename.io
app_key: f2390f23f01233f23f

Damit kann man das folgende Playbook gegen die Inventardatei ausführen:

---
- name: Install api.
  hosts: api
  gather_facts: true
  sudo: true
  tags:
    - api
  roles:
    - { role: api,         tags: ["api"]         }

mit der folgenden runline:

ansible-playbook playbook.yaml -i  inventory.development

Hosts-Datei

Die Hostdatei wird zum Speichern von Verbindungen für Anisble-Playbooks verwendet. Es gibt Optionen zum Definieren von Verbindungsparametern:

ansible_host ist der Hostname oder die IP-Adresse

ansible_port ist der Port, den die Maschine für SSH verwendet

ansible_user ist der entfernte Benutzer, zu dem eine Verbindung hergestellt werden soll

ansible_ssh_pass wenn ein Kennwort für SSH verwendet wird

ansible_ssh_private_key_file wenn Sie mehrere für Hosts spezifische Schlüssel verwenden müssen

Dies sind die am häufigsten verwendeten Optionen. Weitere Informationen finden Sie in der offiziellen Dokumentation von Ansible .

Hier ist eine Beispiel- hosts Datei:

# Consolidation of all groups
[hosts:children]
web-servers
offsite
onsite
backup-servers

[web-servers]
server1 ansible_host=192.168.0.1 ansible_port=1600
server2 ansible_host=192.168.0.2 ansible_port=1800

[offsite]
server3 ansible_host=10.160.40.1 ansible_port=22 ansible_user=root
server4 ansible_host=10.160.40.2 ansible_port=4300 ansible_user=root

# You can make groups of groups
[offsite:children]
backup-servers

[onsite]
server5 ansible_host=10.150.70.1 ansible_ssh_pass=password

[backup-servers]
server6 ansible_host=10.160.40.3 ansible_port=77


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow