DevOps-bootcamp · Lektion

Miljöer och värden per miljö

Befordra samma konfiguration från dev till prod

Lektion 3 av 413 steg

Miljöer och värden per miljö är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

En stack, flera miljöer

Dev, staging och prod kör samma appar med olika inställningar. Med Helmfiles environments kan en enda fil beskriva alla miljöerna på ett tydligt sätt.

Blocket environments

Ni deklarerar varje miljö under ett environments-block på toppnivå. Varje namngiven miljö kan läsa in sin egen values-fil.

environments:
  dev:
    values:
      - envs/dev.yaml
  prod:
    values:
      - envs/prod.yaml

Välj med -e

Ni väljer den aktiva miljön på kommandoraden med -e. Helmfile läser då bara in värdena för den miljön.

helmfile -e prod sync

Trädet .Environment.Values

Inlästa värden hamnar i .Environment.Values. Ni läser dem med Go-template-syntax var som helst i helmfile.yaml.

{{ .Environment.Values.replicaCount }}

Replikantal per miljö

Ett klassiskt användningsfall är att dev kör en replik medan prod kör många. Ni skapar en mall för värdet i set utifrån miljön i stället för att hårdkoda det.

set:
  - name: replicaCount
    value: {{ .Environment.Values.replicaCount }}

Gemensam bas, miljöspecifik överskrivning

Lista först en gemensam values-fil och därefter miljöfilen. environment-filen skriver bara över de nycklar som skiljer sig, så den gemensamma konfigurationen kan ligga på ett ställe.

values:
  - envs/base.yaml
  - envs/{{ .Environment.Name }}.yaml

Hjälpfunktionen .Environment.Name

.Environment.Name ger den aktiva miljöns namn som en sträng. Det passar bra för namn, etiketter eller för att välja en filsökväg dynamiskt.

namespace: app-{{ .Environment.Name }}

En standardmiljö

Definiera en default-miljö så att ett vanligt helmfile-kommando fortfarande fungerar utan -e. Den används när ingen miljö har angetts.

environments:
  default:
    values:
      - envs/dev.yaml

Inline-värden för miljön

Små skillnader kan anges inline under en miljö i stället för i en fil. Använd values med en map för bara en eller två nycklar.

environments:
  prod:
    values:
      - replicaCount: 5

Promota utan att skapa en fork

Eftersom logiken delas och bara värdena ändras kan ni promota samma release från dev till prod genom att byta -e, i stället för att kopiera filer.

Håll secrets borta

Värdefiler för miljöer innehåller ofta känslig konfiguration. Håll riktiga secrets krypterade eller i ett valv, aldrig som klartext i dessa filer i Git.

Snabb kontroll

Ni vill driftsätta prod-miljön i helmfile.yaml. Hur väljer ni den?

Sammanfattning: Miljöer

Ni har lärt er att definiera environments, välja en med -e och läsa .Environment.Values för att promota samma stack mellan olika miljöer. Nästa steg är att tillämpa den. 🚀

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Miljöer och värden per miljö” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Miljöer och värden per miljö”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Miljöer och värden per miljö”?

Befordra samma konfiguration från dev till prod Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Miljöer och värden per miljö”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Varför Helmfile ligger ovanpå Helm
  2. Definiera releaser i helmfile.yaml
  3. Miljöer och värden per miljö
  4. helmfile diff, apply och sync
← Tillbaka till DevOps-bootcamp