Ansible¶
Vorbereitungen (einmalig)¶
python3.8 -m venv ansible
cd ansible
pip install ansible
Aufruf (erster Test)¶
ansible localhost -a "echo 'Hallo Du Pappnase'"
SSH-Key¶
Für den Login per SSH einen public/privat-Key erzeugen.
ssh-keygen -t rsa -b 4096 -o -C norbert@koppatz.com
Speichern als: ~/.ssh/norbert-ansible
ls ~/.ssh | grep norber
norbert-ansible
norbert-ansible.pub
Struktur¶

Modules¶
https://docs.ansible.com/ansible/latest/modules/modules_by_category.html clone eines Git-Repositories
Roles¶
Container für diverse Aufgabengruppen. Jede Gruppe setzt sich aus unterschiedlichen Aufgaben zusammen.
Tasks¶
Die Aufgaben werden in main.yml durch import-Anweisungen zusammengestellt.
Python 2¶
Vorbedingungen¶
yum install -y python-devel python-setuptools python-pip
pip install virtualenv
Inventory¶
hosts-Datei¶
Standard-Ordner: /etc/ansible/hosts
Welche Server werden bedient
besser mit -i explizit eine Datei angeben, ist felxibler
[Rolle1]
127.0.0.1
[Rolle2]
168.0.0.3
Konfiguration mit YAML¶
Einrückung ist wichtig
Python3 statt Python2 verwenden¶
[Rolle1]
127.0.0.1 ansible_python_interpreter=/usr/local/bin/python3
Variablen verschlüsseln/entschlüsseln¶
ansible-vault encrypt all # verschlüsseln
ansible-vault decrypt all # entschlüsseln
ansible-vault edit all # direkte Bearbeitung
Variablen bearbeiten (bleiben verschlüsselt)¶
ansible-vault edit all