Design projektet: Roles & inventory
Strukturér hele deployment-repositoriet.
Design projektet: Roles & inventory er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-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 Intensiv DevOps-uddannelse 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
- 142
- Lektioner
- 568
Ofte stillede spørgsmål
Er lektionen “Design projektet: Roles & inventory” gratis?
Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Design projektet: Roles & inventory”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Design projektet: Roles & inventory”?
Strukturér hele deployment-repositoriet. Du øver dig i Intensiv DevOps-uddannelse 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å Intensiv DevOps-uddannelse?
Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse 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 Intensiv DevOps-uddannelse-lektion?
Ja. Alle Intensiv DevOps-uddannelse-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