Ansible Academy · Lektion

Design projektet: Roles & inventory

Strukturér hele deployment-repositoriet.

Lektion 1 af 413 trin

Design projektet: Roles & inventory er en gratis Ansible Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Ansible Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ansible Academy-kurset indeholder 4 lektioner i alt.

Målet for afslutningsprojektet

Det er tid til at udrulle en rigtig applikation med flere lag med en rullende udrulning og nul nedetid. Første trin: design projektets struktur. 🚀

Tænk i roller

Opdel systemet i roller: én pr. ansvarsområde, f.eks. common, web, app, db og loadbalancer. Hver rolle kan genbruges og testes for sig.

Strukturen på øverste niveau

Et overskueligt repository har inventar, group_vars, roller og en site.yml-startplaybook i roden, så alle hurtigt kan finde det, de skal bruge.

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

site.yml binder det hele sammen

Din masterplaybook site.yml importerer plays for hvert lag i rækkefølge. Det er den ene kommando, der udruller hele stakken.

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

Knyt lag til grupper

Dit inventar definerer én gruppe pr. lag: lb, db, app og web. Hvert play er målrettet præcis de værter, det ejer.

[lb]
lb1

[web]
web1
web2

[app]
app1
app2

[db]
db1

group_vars pr. lag

Gem indstillinger for lagene i group_vars: webporte, applikationsversion og databaselegitimationsoplysninger. Værterne arver dem automatisk uden kopiering og indsættelse.

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

host_vars til særlige tilfælde

Når én vært adskiller sig, skal du placere tilsidesættelser i host_vars. Den primære database kan f.eks. have replikeringsindstillinger, som de øvrige værter mangler.

host_vars/db1.yml:
  postgresql_role: primary

Fastlås applikationsversionen

Gør udgivelsesversionen til en variabel i stedet for en hardkodet streng. Ét ændringspunkt giver dig mulighed for at rulle frem eller tilbage på få sekunder.

group_vars/all.yml:
  app_version: "2.4.1"

Adskil miljøer

Brug separate inventar-mapper pr. miljø, så staging og produktion aldrig deler værter. Samme roller, forskellige mål.

inventory/
  staging/hosts
  production/hosts

Fastlås dine afhængigheder

Angiv eksterne Galaxy-roller i requirements.yml, så alle på teamet og alle CI-kørsler installerer præcis den samme automatiseringskode.

roles:
  - name: geerlingguy.nginx
    version: 3.1.4

Det betaler sig at starte med arkitekturen

En gennemtænkt struktur forvandler en skræmmende udrulning til nogle få forudsigelige kommandoer. Struktur nu sparer dig for brandslukning senere. 🧱

Hurtigt tjek

Lad os placere ét stykke konfiguration korrekt.

Opsummering

Du designede repositoryet: roller pr. lag, inventargrupper, group_vars og host_vars samt en site.yml, der kører hele udrulningen. ✅

Gratis at komme i gang

Lær YAML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Design projektet: Roles & inventory” gratis?

Ja — hele teksten til “Design projektet: Roles & inventory” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Ansible Academy-kurset, skal du opgradere til CoddyKit PRO. Ansible Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Design projektet: Roles & inventory”?

Strukturér hele deployment-repositoriet. Du øver dig i Ansible Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Ansible Academy?

Der kræves ingen tidligere erfaring. Ansible Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Design projektet: Roles & inventory”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Ansible Academy-lektion?

Ja. Alle Ansible Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Design projektet: Roles & inventory
  2. Provisionér, hærd og bootstrap værter
  3. Rullende udrulning bag load balanceren
  4. Smoke tests, rollback & notifikationer
← Tilbage til Ansible Academy