Design projektet: Roles & inventory
Strukturér hele deployment-repositoriet.
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.ymlKnyt 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]
db1group_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:8080host_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: primaryFastlå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/hostsFastlå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.4Det 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. ✅
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
- Design projektet: Roles & inventory
- Provisionér, hærd og bootstrap værter
- Rullende udrulning bag load balanceren
- Smoke tests, rollback & notifikationer