Grunderna i Kubernetes · Lektion

Skapa och dela egna Helm Charts

Gå från chart-användare till chart-författare: skapa ett skelett för ett chart, malla manifest med värden, paketera det och publicera det i ett repository.

Lektion 4 av 413 steg

Skapa och dela egna Helm Charts är en gratis lektion i Grunderna i Kubernetes 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 Grunderna i Kubernetes, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Grunderna i Kubernetes innehåller totalt 4 lektioner.

Från användare till författare

Ni har distribuerat och anpassat befintliga charts. Nu ska Ni bygga ett eget och paketera Er app så att andra kan installera den med ett enda kommando.

Skapa ett chart-skelett

helm create genererar ett chart-skelett med rimliga standardvärden som Ni kan redigera.

helm create mychart
# creates mychart/ with Chart.yaml, values.yaml, templates/

Chart.yaml: metadata

Chart.yaml beskriver chartet: dess namn, version och versionen av appen som det distribuerar.

apiVersion: v2
name: mychart
description: A web app chart
type: application
version: 0.1.0
appVersion: '1.0.0'

Mallar och Go-templatemotorn

Filer i templates/ är Kubernetes-manifest med platshållare. Helm fyller i dem med Go-template-syntaxen, som använder dubbla klammerparenteser.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-web
spec:
  replicas: {{ .Values.replicaCount }}
  template:
    spec:
      containers:
      - name: web
        image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

values.yaml: standardvärdena

values.yaml innehåller den standardkonfiguration som mallarna refererar till via .Values. Användare skriver över dessa värden vid installationen.

replicaCount: 2
image:
  repository: myapp
  tag: '1.0.0'

Hjälpfunktioner med _helpers.tpl

Återanvändbara kodavsnitt finns i _helpers.tpl som namngivna mallar, vilket håller manifest DRY för exempelvis etiketter och namn.

{{- define "mychart.labels" -}}
app.kubernetes.io/name: {{ .Chart.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

Lintning och rendering

Innan Ni installerar bör Ni validera chartet och förhandsgranska de renderade manifesten utan att ändra klustret.

helm lint mychart
helm template mychart --set replicaCount=3

Installera Ert chart

Installera direkt från den lokala chart-katalogen för att testa det från början till slut.

helm install demo ./mychart --set image.tag=2.0.0
helm list

Paketering

helm package paketerar chartet i ett versionsmärkt .tgz-arkiv som är klart för distribution.

helm package mychart
# produces mychart-0.1.0.tgz

Publicera till ett repository

Ni kan lagra charts i ett HTTP-repository eller, i allt högre grad, som OCI-artefakter i ett containerregister.

helm push mychart-0.1.0.tgz oci://registry.example.com/charts
helm install demo oci://registry.example.com/charts/mychart --version 0.1.0

Disciplinerad versionshantering

  • Öka version vid alla ändringar av chartet
  • Öka appVersion när den paketerade appen ändras
  • Följ semantisk versionshantering så att användare vet vad de kan förvänta sig

Snabbkontroll

Testa Era kunskaper om att skriva charts.

Sammanfattning

Ni har lärt Er att skriva charts: skapa ett skelett med helm create, beskriv metadata i Chart.yaml, skapa mallar för manifest med .Values och hjälpfunktioner, kör lintning och rendering och paketera sedan samt publicera (inklusive i OCI-register). Disciplinerad versionshantering skyddar användarna.

Gratis att börja

Lär dig Grunderna i Kubernetes 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
12
Lektioner
48

Vanliga frågor

Är lektionen ”Skapa och dela egna Helm Charts” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Kubernetes, inklusive ”Skapa och dela egna Helm Charts”, 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 Grunderna i Kubernetes innehåller totalt 4 lektioner.

Vad lär jag mig i ”Skapa och dela egna Helm Charts”?

Gå från chart-användare till chart-författare: skapa ett skelett för ett chart, malla manifest med värden, paketera det och publicera det i ett repository. Ni övar på Grunderna i Kubernetes 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 Grunderna i Kubernetes?

Du behöver inga förkunskaper. Utbildningen i Grunderna i Kubernetes 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 ”Skapa och dela egna Helm Charts”?

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 Grunderna i Kubernetes-lektionen?

Ja. Varje Grunderna i Kubernetes-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. Introduktion till Helm Charts
  2. Distribuera applikationer med Helm
  3. Anpassa och hantera releaser
  4. Skapa och dela egna Helm Charts
← Tillbaka till Grunderna i Kubernetes