wie erstellen Ansible playbook zu erhalten OS-Versionen der remote-hosts?
Ich bin neu in ansible. Ich habe eine Anforderung, die verlangt mich zu ziehen, OS-version für mehr als 450 linux-Server, in AWS gehostet. AWS nicht bieten dieses feature, sondern es ist vielmehr suggeriert uns, um es von puppet oder chef.
Erstellte ich einige einfache playbooks, die nicht ausgeführt
---
- hosts: testmachine
user: ec2-user
sudo: yes
tasks:
- name: Update all packages to latest
yum: name=* state=latest
task:
- name: obtain OS version
shell: Redhat-release
playbook ausgeben sollte eine text-Datei, hostname und OS-version. Jeder Einblick auf diese wird sehr geschätzt werden.
InformationsquelleAutor AmigoSe | 2016-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie eine der folgenden Jinja2 Ausdrücke:
wo:
hostvars
undansible_...
sind integriert und automatisch gesammelt werden Ansibleansible_distribution
ist die host bearbeitet von AnsibleBeispielsweise, angenommen, Sie führen den Ansible Rolle
test_role
gegen den Gastgeberhost.example.com
läuft ein CentOS 7 Verteilung:geben Sie:
inventory_hostname
ist die host bearbeitet von Ansible" stattansible_distribution
?InformationsquelleAutor Gabriel Petrovay
Strukturiert:
Erstellt eine kommagetrennte Datei mit dem Namen
distro.csv
im playbook Ordner. Sie können alle Variablen, die Sie Bearbeiten möchtenline:
.InformationsquelleAutor user3178743
Ansible bietet bereits eine Menge Informationen über den remote-host in der "hostvars" - variable, die automatisch zur Verfügung.
Informationen von Ihrem Rechner mit der Bezeichnung "my_remote_box_name", z.B.
Einige Informationen zum Betriebssystem ist in
Welche, für die man von meinem ubuntu-Rechner würden zusammen:
Können Sie nur verwenden, diese Variablen in Ihrem playbooks und Vorlagen, mithilfe von "{{ variable_name }}" notation.
Ausgabe:
InformationsquelleAutor Matthias Bloch
Für ein paar windows-Instanzen:
gibt:
}
}
InformationsquelleAutor Straff
"AWS nicht bieten dieses feature" - checken Sie die Datei
/etc/os-release
haben, um weitere Informationen von aws-Instanz.Beispielsweise
warum nicht einfach tun
shell: cat /etc/os-release
???Sie würden auch brauchen, um debug verwenden, zum drucken der stdout von Ihrem
cat
BefehlInformationsquelleAutor Vor
Blick auf mein Beispiel wieder. Registrierung das Ergebnis der shell-Befehl ist wichtig.
InformationsquelleAutor MillerGeek