DevOps-bootcamp · Lektion

Helm Charts och Kubernetes-manifest i CI/CD

Paketera och versionshantera Kubernetes-utrullningar med Helm Charts, templatisera konfiguration per miljö och automatisera chart-utgåvor från GitHub Actions.

Lektion 4 av 413 steg

Helm Charts och Kubernetes-manifest i CI/CD är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 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.

Problemet med manifestmängden

Driftsättning till Kubernetes innebär att många YAML-manifest måste skrivas: Deployments, Services, ConfigMaps och Ingresses. Att kopiera dem för varje miljö blir snabbt ohanterligt.

Helm löser detta genom att paketera manifest i ett återanvändbart, versionshanterat chart.

Vad är Helm

Helm är pakethanteraren för Kubernetes. Ett chart är ett paket med mallade manifest och standardvärden.

  • Chart.yaml — chartets metadata och version
  • values.yaml — standardkonfiguration
  • templates/ — manifestmallar

Chartstruktur

En typisk chart-katalog ser ut så här. Helm renderar mallarna med hjälp av värdena för att skapa färdig Kubernetes-YAML.

mychart/
  Chart.yaml
  values.yaml
  templates/
    deployment.yaml
    service.yaml

Mallning med värden

Mallarna använder platshållare som hämtar värden från values.yaml. På så sätt kan en mall användas i många miljöer.

# templates/deployment.yaml
spec:
  replicas: {{ .Values.replicaCount }}
  image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

Värden per miljö

Behåll en separat värdefil för varje miljö och skicka med den vid installationen. Staging kan köra 1 replik medan produktion kör 5.

helm upgrade --install myapp ./mychart \
  -f values-prod.yaml \
  --namespace production

Installera kontra uppgradera

Kommandot helm upgrade --install är idempotent: det installerar releasen om den inte finns, eller uppgraderar den om den gör det.

Detta enda kommando passar utmärkt för CI/CD eftersom det fungerar både vid den första och vid efterföljande driftsättningar.

Ange image-taggen i CI

I CI skickar ni vanligtvis in den nybyggda image-taggen (ofta commit-SHA:t) med hjälp av --set.

Detta kopplar Kubernetes-releasen till exakt det artefakt som pipelinen nyss skapade.

  - run: |
      helm upgrade --install myapp ./mychart \
        --set image.tag=${{ github.sha }}

Lintning av charts

Validera chartet före driftsättning med helm lint och rendera det med helm template för att upptäcka YAML- eller mallningsfel tidigt.

  - run: helm lint ./mychart
  - run: helm template myapp ./mychart -f values-prod.yaml

Återställningar med Helm

Helm spårar varje release som en numrerad revision. Om en driftsättning går fel kan Ni återställa den direkt.

Detta passar bra ihop med rutiner för katastrofåterställning eftersom det går snabbt och är deterministiskt.

helm history myapp
helm rollback myapp 3

Paketering och publicering

Charts kan paketeras i versionsnumrerade arkiv och pushas till ett chart-arkiv eller ett OCI-register, precis som containeravbildningar.

Det gör att andra team kan använda Ert chart utifrån version.

helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/charts

Ett Helm-jobb för driftsättning

Så här sätter Ni ihop det: autentisera mot klustret, konfigurera Helm och uppgradera sedan. Azure-åtgärden setup-helm installerar CLI:t på runnern.

  - uses: azure/setup-helm@v4
  - run: |
      helm upgrade --install myapp ./mychart \
        -f values-prod.yaml \
        --set image.tag=${{ github.sha }} \
        --wait

Snabbtest

Testa Era kunskaper om Helm i CI/CD.

Sammanfattning

Ni har lärt Er att driftsätta Kubernetes-appar med Helm.

  • Charts paketerar templaterade manifest tillsammans med values.yaml
  • Värdefiler per miljö konfigurerar staging respektive produktion
  • helm upgrade --install är det idempotenta CI-kommandot för driftsättning
  • Revisioner möjliggör omedelbara återställningar, och charts kan publiceras som avbildningar

Helm omvandlar råa manifest till versionshanterade, återanvändbara releaser.

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 ”Helm Charts och Kubernetes-manifest i CI/CD” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Helm Charts och Kubernetes-manifest i CI/CD”, 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 ”Helm Charts och Kubernetes-manifest i CI/CD”?

Paketera och versionshantera Kubernetes-utrullningar med Helm Charts, templatisera konfiguration per miljö och automatisera chart-utgåvor från GitHub Actions. 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 4 av 4.

Hur lång tid tar lektionen ”Helm Charts och Kubernetes-manifest i CI/CD”?

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. Bygga Docker-avbildningar med Actions
  2. Skicka avbildningar till register
  3. Distribuera till Kubernetes med Actions
  4. Helm Charts och Kubernetes-manifest i CI/CD
← Tillbaka till DevOps-bootcamp