Ansible Academy · Lektion

Das Projekt konzipieren: Rollen und Inventory

Strukturieren Sie das vollständige Deployment-Repository.

Lektion 1 von 413 Schritte

Das Projekt konzipieren: Rollen und Inventory ist eine kostenlose Ansible Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ansible Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.

Das Ziel des Abschlussprojekts

Jetzt wird eine echte Anwendung mit mehreren Ebenen, einem Rolling-Deployment und ohne Ausfallzeit bereitgestellt. Der erste Schritt: das Projektlayout entwerfen. 🚀

In Rollen denken

Teilen Sie das System in Rollen auf: jeweils eine für Aufgabenbereiche wie common, web, app, db und loadbalancer. Jede Rolle ist eigenständig wiederverwendbar und testbar.

Das Layout der obersten Ebene

Ein übersichtliches Repository enthält inventory, group_vars, roles und ein site.yml-Einstiegsplaybook im Stammverzeichnis, damit jeder alles schnell findet.

deploy/
  site.yml
  inventory/
  group_vars/
  host_vars/
  roles/

site.yml verbindet alles

Ihr übergeordnetes Playbook site.yml bindet die Plays der einzelnen Ebenen in der richtigen Reihenfolge ein. Es ist der einzige Befehl, der den gesamten Stack bereitstellt.

- import_playbook: plays/loadbalancer.yml
- import_playbook: plays/db.yml
- import_playbook: plays/app.yml
- import_playbook: plays/web.yml

Ebenen Gruppen zuordnen

Ihr inventory definiert eine Gruppe pro Ebene: lb, db, app und web. Jedes Play zielt genau auf die Hosts, für die es zuständig ist.

[lb]
lb1

[web]
web1
web2

[app]
app1
app2

[db]
db1

group_vars pro Ebene

Speichern Sie die Einstellungen der Ebenen in group_vars: Web-Ports, App-Version und Datenbankzugangsdaten. Hosts übernehmen sie automatisch, ganz ohne Copy-and-paste.

group_vars/web.yml:
  nginx_port: 80
  upstream: app:8080

host_vars für Sonderfälle

Wenn sich ein Host unterscheidet, legen Sie Überschreibungen in host_vars ab. Die primäre Datenbank kann beispielsweise Replikationseinstellungen enthalten, die den übrigen Hosts fehlen.

host_vars/db1.yml:
  postgresql_role: primary

Die App-Version festlegen

Machen Sie die Release-Version zu einer Variablen statt zu einer fest codierten Zeichenfolge. Ein einziger Änderungspunkt ermöglicht in wenigen Sekunden ein Vor- oder Zurücksetzen der Version.

group_vars/all.yml:
  app_version: "2.4.1"

Umgebungen trennen

Verwenden Sie pro Umgebung eigene inventory-Verzeichnisse, damit Staging und Produktion niemals Hosts gemeinsam nutzen. Die Rollen bleiben gleich, die Ziele unterscheiden sich.

inventory/
  staging/hosts
  production/hosts

Abhängigkeiten festschreiben

Listen Sie externe Galaxy-Rollen in requirements.yml auf, damit jedes Teammitglied und jeder CI-Lauf exakt denselben Automatisierungscode installiert.

roles:
  - name: geerlingguy.nginx
    version: 3.1.4

Eine gute Architektur zahlt sich aus

Ein durchdachtes Layout macht aus einer beängstigenden Bereitstellung einige wenige vorhersehbare Befehle. Eine gute Struktur erspart Ihnen später viel Fehlersuche. 🧱

Kurze Überprüfung

Platzieren wir ein Konfigurationselement an der richtigen Stelle.

Zusammenfassung

Sie haben das Repository entworfen: Rollen pro Ebene, Inventory-Gruppen, group_vars und host_vars sowie ein site.yml, das die gesamte Bereitstellung ausführt. ✅

Kostenlos starten

Lerne YAML mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Das Projekt konzipieren: Rollen und Inventory“ kostenlos?

Ja — der vollständige Text von „Das Projekt konzipieren: Rollen und Inventory“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ansible Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Das Projekt konzipieren: Rollen und Inventory“?

Strukturieren Sie das vollständige Deployment-Repository. Du übst Ansible Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ansible Academy zu starten?

Keine Vorkenntnisse erforderlich. Ansible Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Das Projekt konzipieren: Rollen und Inventory“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ansible Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ansible Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das Projekt konzipieren: Rollen und Inventory
  2. Hosts bereitstellen, absichern und initialisieren
  3. Rolling Deployment hinter dem Load Balancer
  4. Smoke-Tests, Rollback und Benachrichtigungen
← Zurück zu Ansible Academy