CI/CD med GitHub Actions og DevOps-arbejdsgange · Lektion

Helm Charts og Kubernetes-manifester i CI/CD

Pak og versionsstyr Kubernetes-deploymenter med Helm Charts, skabelonisér konfiguration pr. miljø, og automatisér chart-udgivelser fra GitHub Actions.

Lektion 4 af 413 trin

Helm Charts og Kubernetes-manifester i CI/CD er en gratis CI/CD med GitHub Actions og DevOps-arbejdsgange-lektion på CoddyKit. Dette er lektion 4 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 CI/CD med GitHub Actions og DevOps-arbejdsgange, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset indeholder 4 lektioner i alt.

Problemet med mange manifestfiler

Udrulning til Kubernetes betyder, at du skal skrive mange YAML-manifester: Deployments, Services, ConfigMaps og Ingresses. Det bliver hurtigt uoverskueligt at kopiere dem til hvert miljø.

Helm løser dette ved at pakke manifesterne i et genanvendeligt, versionsstyret chart.

Hvad er Helm

Helm er pakkehåndteringen til Kubernetes. Et chart er en samling skabelonbaserede manifester samt standardværdier.

  • Chart.yaml — chartets metadata og version
  • values.yaml — standardkonfiguration
  • templates/ — manifestskabeloner

Chartstruktur

En typisk chart-mappe ser sådan ud. Helm gengiver skabelonerne ved hjælp af værdierne og producerer den endelige Kubernetes-YAML.

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

Skabeloner med værdier

Skabeloner bruger pladsholdere, der henter værdier fra values.yaml. Det lader én skabelon betjene mange miljøer.

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

Værdier pr. miljø

Brug en separat værdifil for hvert miljø, og angiv den ved installationen. Staging kører måske med 1 replika, mens produktion kører med 5.

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

Installation kontra opgradering

Kommandoen helm upgrade --install er idempotent: Den installerer releasen, hvis den ikke findes, eller opgraderer den, hvis den gør.

Denne ene kommando er ideel til CI/CD, fordi den fungerer både ved den første og de efterfølgende udrulninger.

Angivelse af image-tagget i CI

I CI indsætter du typisk tagget for det netop byggede image (ofte commit-SHA'en) ved hjælp af --set.

Det knytter Kubernetes-releasen til det præcise artefakt, som dit forløb netop producerede.

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

Kontrol af charts

Før udrulning skal du validere chartet med helm lint og gengive det med helm template for tidligt at opdage YAML- eller skabelonfejl.

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

Tilbagerulninger med Helm

Helm holder styr på hver udgivelse som en nummereret revision. Hvis en udrulning går galt, kan du rulle tilbage med det samme.

Det passer godt sammen med praksisser for katastrofeberedskab, fordi det er hurtigt og deterministisk.

helm history myapp
helm rollback myapp 3

Pakning og publicering

Pakker kan samles i versionsstyrede arkiver og skubbes til et pakkelager eller et OCI-register, ligesom containerafbildninger.

Det giver andre teams mulighed for at bruge din pakke ud fra versionen.

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

Et Helm-udrulningsjob

Sådan samler du det hele: Godkend forbindelsen til klyngen, konfigurer Helm, og opgrader derefter. Azure-handlingen setup-helm installerer CLI-værktøjet på kørselsagenten.

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

Hurtig kontrol

Test din forståelse af Helm i CI/CD.

Opsummering

Du har lært at udrulle Kubernetes-applikationer med Helm.

  • Pakker samler skabelonbaserede manifester samt values.yaml
  • Værdifiler pr. miljø konfigurerer testmiljø kontra produktion
  • helm upgrade --install er den idempotente CI-kommando til udrulning
  • Revisioner muliggør øjeblikkelige tilbagerulninger, og pakker kan publiceres ligesom afbildninger

Helm omdanner rå manifester til versionsstyrede, genanvendelige udgivelser.

Gratis at komme i gang

Lær CI/CD med GitHub Actions og DevOps-arbejdsgange 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
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Helm Charts og Kubernetes-manifester i CI/CD” gratis?

Ja — hele teksten til “Helm Charts og Kubernetes-manifester i CI/CD” 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 CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset, skal du opgradere til CoddyKit PRO. CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Helm Charts og Kubernetes-manifester i CI/CD”?

Pak og versionsstyr Kubernetes-deploymenter med Helm Charts, skabelonisér konfiguration pr. miljø, og automatisér chart-udgivelser fra GitHub Actions. Du øver dig i CI/CD med GitHub Actions og DevOps-arbejdsgange 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å CI/CD med GitHub Actions og DevOps-arbejdsgange?

Der kræves ingen tidligere erfaring. CI/CD med GitHub Actions og DevOps-arbejdsgange 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 4 af 4.

Hvor lang tid tager lektionen “Helm Charts og Kubernetes-manifester i CI/CD”?

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 CI/CD med GitHub Actions og DevOps-arbejdsgange-lektion?

Ja. Alle CI/CD med GitHub Actions og DevOps-arbejdsgange-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. Bygning af Docker-images med Actions
  2. Push af images til registries
  3. Deployment til Kubernetes med Actions
  4. Helm Charts og Kubernetes-manifester i CI/CD
← Tilbage til CI/CD med GitHub Actions og DevOps-arbejdsgange