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.
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 versionvalues.yaml— standardkonfigurationtemplates/— 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.yamlSkabeloner 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 productionInstallation 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.yamlTilbagerulninger 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 3Pakning 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/chartsEt 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 }} \
--waitHurtig 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 --installer 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.
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
- Bygning af Docker-images med Actions
- Push af images til registries
- Deployment til Kubernetes med Actions
- Helm Charts og Kubernetes-manifester i CI/CD