Um Server Infrastrukturen schnell und reproduzierbar konfigurieren zu können setzt man auf so genannte Configuration Management Lösungen. Die bekanntesten sind Puppet, Chef, Salstack und Ansible. Dabei hat Ansible den größten Verbreitungsgrad, die geringste Einstiegshürde und eine flache Lernkurve.
Ziele
- Du hast die Konzepte von Configuration Management verstanden.
- Du verstehst, warum man den Source Code von Configuration Management im Git haben möchte.
- Du hast den Unterschied zwischen deklarativem und prozeduralem/imperativem Configuration Management verstanden.
- Was ist mit Idempotenz gemeint?
- Du hast Nodes mit Ansible konfiguriert.
- Du weißt, wie Ansible sich zu remote Systemen verbindet.
- Du verstehst was die folgenden Dinge bei Ansible sind
inventory
module
task
handler
variable
playbook
role
facts
- Was ist
ansible-vault
? - Was ist die
ansible-galaxy
?- Was sind collections?
Inhalte
Beachte von Beginn an die unten stehenden Aufgaben!
Info
Wenn du dich für Vagrant entscheidest, verwende die
ubuntu/jammy64
Show archive.org snapshot box.
- Das Buch
Ansible for DevOps
Show archive.org snapshot
. Du findest es in der makandra
Bibliothek
Show archive.org snapshot
- Relevant sind die Kapitel 1-8.
- Bitte erstelle keinen DigitalOcean Account für Kapitel 8. Lies das Kapitel einfach durch und verstehe was da passiert.
- Das Buch konfiguriert u.a. das
localhost
System. Mach das nicht. Erstelle dir stattdessen mitlxd
container oder verwendeVagrant
um diese zu konfigurieren.
- Relevant sind die Kapitel 1-8.
- Ansible Best Practices Show archive.org snapshot
- Ansible Documentation Show archive.org snapshot
- ansible-doc Show archive.org snapshot
Aufgaben
- Die Inhalte, die du für das Buch erstellst, sollen in einem git repository landen.
- Scanne deinen Code mit
ansible-lint
. Du kannst das auch gerne in einen Editor integrieren oder Ansible linting pre-commit (Vorsicht: pre-commit über apt gibt es erst ab Ubuntu 22.04) Show archive.org snapshot einrichten. - Lass den Code von deinem Mentor ansehen und zeige ihm, dass er funktioniert.
Posted by Claus-Theodor Riegg to DevOps Curriculum (2022-01-21 17:11)