Back openDesk Edu for a sovereign, open-source education â every vote counts.
Vote nowSave products you love by clicking the heart icon.
VollstÀndige kubectl-Befehlsreferenz, die Pods, Deployments, Services, ConfigMaps, Secrets und das Cluster-Management abdeckt.
Ein praktischer Quick-Reference-Guide fĂŒr Helm, den Package-Manager fĂŒr Kubernetes. Die Befehle sind nach Workflows organisiert: Installation, Verwaltung von Releases, Arbeit mit Charts und Fehlerbehebung.
Bevor Sie mit den Befehlen beginnen, sollten Sie diese grundlegenden Konzepte verstehen:
| Konzept | Beschreibung |
|---|---|
| Chart | Ein Package, das Kubernetes-Ressourcen-Templates, Standardwerte und Metadaten enthÀlt |
| Release | Eine spezifische Instanz eines Charts, die mit einer eigenen Konfiguration in einem Cluster lÀuft |
| Revision | Ein nummerierter Snapshot eines Releases, der bei jeder Installation, jedem Upgrade oder Rollback erstellt wird |
| Repository | Eine Sammlung von Charts, die remote (HTTP) oder lokal gespeichert sind |
| Values | Konfigurationsparameter, mit denen das Verhalten eines Charts angepasst wird |
Helm fĂŒhrt Values in dieser Reihenfolge zusammen (spĂ€tere Werte ĂŒberschreiben frĂŒhere):
values.yaml des Charts (Defaults)-f values.yaml-Dateien (mehrere erlaubt)--set- und --set-file-Argumente# Install a chart with default values
helm install my-release bitnami/nginx
# Install in a specific namespace (namespace must exist)
helm install my-release bitnami/nginx -n production
# Install with a custom release name from a local chart
helm install myapp ./my-chart
# Override values from a file
helm install my-release bitnami/nginx -f values.yaml
# Override multiple values files (later files override earlier)
helm install my-release bitnami/nginx -f base.yaml -f override.yaml
# Set individual values inline
helm install my-release bitnami/nginx --set replicaCount=3
# Set nested values
helm install my-release bitnami/nginx --set image.tag=1.25.0
# Set multiple values
helm install my-release bitnami/nginx \
--set replicaCount=3 \
--set service.type=LoadBalancer
# Dry run to see generated manifests without installing
helm install my-release bitnami/nginx --dry-run
# Dry run with debug output (shows computed values)
helm install my-release bitnami/nginx --dry-run --debug
# Verify chart before install (runs helm test after install)
helm install my-release bitnami/nginx --wait
# Install with timeout (default is 5m)
helm install my-release bitnami/nginx --timeout 10m
# From OCI registry
helm install my-release oci://registry.example.com/charts/nginx:1.0.0
# From absolute URL
helm install my-release https://example.com/charts/nginx-1.0.0.tgz
# From a specific chart version
helm install my-release bitnami/nginx --version 15.0.0
# List releases in current namespace
helm list
# List releases in all namespaces
helm list -A
# List releases in a specific namespace
helm list -n production
# Show all releases including deleted (kept for history)
helm list --all
# Filter by release name pattern
helm list --filter 'my-*'
# Output in different formats
helm list -o json
helm list -o yaml
# Status eines Releases abrufen
helm status my-release
# Status in einem spezifischen Namespace abrufen
helm status my-release -n production
# Release-Historie anzeigen
helm history my-release
# Historie mit maximaler Anzahl an Revisionen
helm history my-release --max 10
# Ein Release deinstallieren
helm uninstall my-release
# Aus einem spezifischen Namespace deinstallieren
helm uninstall my-release -n production
# Historie nach Deinstallation beibehalten (ermöglicht Rollback)
helm uninstall my-release --keep-history
# Dry Run der Deinstallation
helm uninstall my-release --dry-run
# Upgrade auf die neueste Chart-Version
helm upgrade my-release bitnami/nginx
# Upgrade mit neuen Values
helm upgrade my-release bitnami/nginx -f values.yaml
# Upgrade mit Inline-Values
helm upgrade my-release bitnami/nginx --set replicaCount=5
# Upgrade auf eine spezifische Chart-Version
helm upgrade my-release bitnami/nginx --version 16.0.0
# Upgrade durchfĂŒhren und installieren, falls das Release nicht existiert
helm upgrade --install my-release bitnami/nginx -f values.yaml
# Ressourcen-Updates durch Ersetzung erzwingen
helm upgrade my-release bitnami/nginx --force
# Warten, bis die Ressourcen bereit sind
helm upgrade my-release bitnami/nginx --wait
# Warten mit benutzerdefiniertem Timeout
helm upgrade my-release bitnami/nginx --wait --timeout 10m
# Rollback bei Fehlern (automatischer Rollback, falls das Upgrade fehlschlÀgt)
helm upgrade my-release bitnami/nginx --atomic
# Bereinigung bei Fehlern (löscht neue Ressourcen bei einem Fehler)
helm upgrade my-release bitnami/nginx --cleanup-on-fail
# Rollback zur vorherigen Revision
helm rollback my-release
# Rollback zu einer spezifischen Revision
helm rollback my-release 3
# Rollback in einem spezifischen Namespace
helm rollback my-release 3 -n production
# Dry Run des Rollbacks
helm rollback my-release --dry-run
# Ein neues Chart-Skeleton erstellen
helm create my-chart
# Erstellen mit einem spezifischen Starter
helm create my-chart --starter bitnami/nginx
# Ein Chart-Verzeichnis in eine .tgz-Datei packen
helm package ./my-chart
# Packen mit einer spezifischen Version
helm package ./my-chart --version 1.2.3
# Packen mit App-Version
helm package ./my-chart --app-version 2.0.0
# Packen mit Signatur
helm package ./my-chart --sign --key 'John Doe'
# Ein Chart auf Fehler prĂŒfen (Linting)
helm lint ./my-chart
# Linting im Strict-Mode (Warnungen als Fehler behandeln)
helm lint ./my-chart --strict
# Linting mit Values-Datei
helm lint ./my-chart -f values.yaml
# Download eines Charts ohne Installation
helm pull bitnami/nginx
# Download einer spezifischen Version
helm pull bitnami/nginx --version 15.0.0
# Download und Entpacken
helm pull bitnami/nginx --untar
# Download in ein spezifisches Verzeichnis
helm pull bitnami/nginx -d ./charts/
# Download aus einer OCI-Registry
helm pull oci://registry.example.com/charts/nginx:1.0.0
# Alle Chart-Informationen anzeigen
helm show all bitnami/nginx
# Nur den Inhalt von chart.yaml anzeigen
helm show chart bitnami/nginx
# Standardwerte (Default Values) anzeigen
helm show values bitnami/nginx
# README anzeigen
helm show readme bitnami/nginx
# Informationen aus einem gepackten Chart anzeigen
helm show values ./nginx-15.0.0.tgz
# Ausgaben kombinieren
helm show chart bitnami/nginx && helm show values bitnami/nginx
# Ein Chart-Repository hinzufĂŒgen
helm repo add bitnami https://charts.bitnami.com/bitnami
# HinzufĂŒgen mit Authentifizierung
helm repo add private https://charts.example.com \
--username user --password pass
# Konfigurierte Repositories auflisten
helm repo list
# Ausgabe als JSON anzeigen
helm repo list -o json
# Alle Repositories aktualisieren (neuesten Index abrufen)
helm repo update
# Spezifisches Repository aktualisieren
helm repo update bitnami
# Ein Repository entfernen
helm repo remove bitnami
# Mehrere Repositories entfernen
helm repo remove bitnami stable
# Index-Datei fĂŒr ein Chart-Verzeichnis generieren
helm repo index ./charts/
# Index mit Basis-URL generieren
helm repo index ./charts/ --url https://charts.example.com
# Mit bestehendem Index zusammenfĂŒhren
helm repo index ./charts/ --merge index.yaml
# Suche nach Charts per Keyword
helm search repo nginx
# Suche in allen Repositories (Hub)
helm search hub nginx
# Suche mit Regex
helm search repo 'nginx$'
# Alle Versionen anzeigen (nicht nur die neueste)
helm search repo nginx --versions
# Filterung nach VersionsbeschrÀnkung
helm search repo nginx --version '>=15.0.0'
# Alle berechneten Werte fĂŒr ein Release abrufen
helm get values my-release
# Werte in einem spezifischen Namespace abrufen
helm get values my-release -n production
# Werte fĂŒr eine spezifische Revision abrufen
helm get values my-release --revision 3
# Alle Werte inklusive Defaults abrufen
helm get values my-release --all
# Ausgabe als YAML (Standard)
helm get values my-release -o yaml
# Ausgabe als JSON
helm get values my-release -o json
# Einfacher Wert
--set name=value
# Verschachtelter Wert (Punkt-Notation)
--set image.tag=1.25.0
# Array/Listen-Werte (Index verwenden)
--set servers[0].name=web1
--set servers[1].name=web2
# Array-Kurzschreibweise
--set names={web1,web2,web3}
# Werte mit Sonderzeichen (maskieren oder in AnfĂŒhrungszeichen setzen)
--set "pod.annotations.kubernetes\.io/name"=myapp
# Wert aus Datei lesen
--set-file config=./config.txt
# String-Wert verwenden (erhÀlt den Typ)
--set-string enabled=true
# Eine Values-Datei verwenden
helm install my-release bitnami/nginx -f values.yaml
# Mehrere Values-Dateien verwenden
helm install my-release bitnami/nginx \
-f base.yaml \
-f env/prod.yaml
# Vorlage fĂŒr eine Values-Datei generieren
helm show values bitnami/nginx > values.yaml
# Templates rendern ohne Installation
helm template my-release bitnami/nginx
# Rendern mit Values-Datei
helm template my-release bitnami/nginx -f values.yaml
# In ein Verzeichnis rendern
helm template my-release bitnami/nginx --output-dir ./rendered/
# Nur spezifische Templates rendern
helm template my-release bitnami/nginx -s templates/deployment.yaml
# Rendern mit Simulation des Release-Namens
helm template my-release ./my-chart --release-name
# Debugging mit Dry Run (zeigt berechnete Werte und Manifeste)
helm install my-release bitnami/nginx --dry-run --debug
# Debugging von Template-Rendering-Problemen
helm template my-release ./my-chart --debug
# Renderte Manifeste serverseitig validieren
helm template my-release bitnami/nginx | kubectl apply --dry-run=client -f -
# Chart-AbhÀngigkeiten herunterladen
helm dependency update ./my-chart
# AbhÀngigkeiten auflisten
helm dependency list ./my-chart
# AbhÀngigkeiten aus Chart.lock aufbauen
helm dependency build ./my-chart
# Beispiel Chart.yaml mit AbhÀngigkeiten
apiVersion: v2
name: my-app
version: 1.0.0
dependencies:
- name: redis
version: "17.x.x"
repository: https://charts.bitnami.com/bitnami
condition: redis.enabled
- name: postgresql
version: "12.x.x"
repository: https://charts.bitnami.com/bitnami
alias: database
# Install a plugin
helm plugin install https://github.com/helm/helm-mapkubeapis
# Install from local directory
helm plugin install ./helm-plugin
# List installed plugins
helm plugin list
# Uninstall a plugin
helm plugin uninstall mapkubeapis
# Update a plugin
helm plugin update helm-diff
# Get user-supplied values
helm get values my-release
# Get rendered manifests
helm get manifest my-release
# Get release notes
helm get notes my-release
# Get hooks (job templates)
helm get hooks my-release
# Get everything combined
helm get all my-release
# Get from a specific revision
helm get manifest my-release --revision 2
# Get from specific namespace
helm get manifest my-release -n production
# Run helm tests for a release
helm test my-release
# Test with timeout
helm test my-release --timeout 5m
# Clean up test pods after running
helm test my-release --cleanup
# Test in a specific namespace
helm test my-release -n production
# View test logs
kubectl logs my-release-test-connection
Charts definieren Tests in templates/tests/. Ein Test-Hook sieht wie folgt aus:
apiVersion: v1
kind: Pod
metadata:
name: "{{ .Release.Name }}-test-connection"
annotations:
"helm.sh/hook": test
spec:
containers:
- name: wget
image: busybox
command: ["wget"]
args: ["{{ .Release.Name }}:{{ .Values.service.port }}"]
restartPolicy: Never
helm upgrade --install myapp ./chart \
-n production \
--create-namespace \
-f values/production.yaml \
--set image.tag=${CI_COMMIT_SHA} \
--atomic \
--timeout 10m \
--wait \
--history-max 10
# Preview changes before applying
helm diff upgrade my-release bitnami/nginx -f values.yaml
# Diff with three-way merge view
helm diff upgrade my-release bitnami/nginx --three-way-merge
# Verzeichnisstruktur
# values/
# base.yaml
# development.yaml
# staging.yaml
# production.yaml
helm upgrade --install myapp ./chart \
-f values/base.yaml \
-f values/production.yaml
# Sensible Werte aus der Umgebung setzen
helm install my-release bitnami/postgresql \
--set postgresqlPassword="${DB_PASSWORD}" \
--set-string postgresqlPassword="${DB_PASSWORD}"
# --set-file fĂŒr Secrets aus Dateien verwenden
helm install my-release ./chart \
--set-file ssl.cert=/path/to/cert.pem
| Befehl | Zweck |
|---|---|
helm install | Neues Release erstellen |
helm upgrade | Bestehendes Release aktualisieren |
helm rollback | Zu einer vorherigen Revision zurĂŒckkehren |
helm uninstall | Release löschen |
helm list | Releases anzeigen |
helm status | Release-Details anzeigen |
helm history | Revisionshistorie anzeigen |
helm get values | Release-Werte anzeigen |
helm get manifest | Rendered YAML anzeigen |
helm repo add | Chart-Repository hinzufĂŒgen |
helm repo update | Aktuelle Chart-Indizes abrufen |
helm search | Charts suchen |
helm pull | Chart herunterladen |
helm template | Templates lokal rendern |
helm lint | Chart-Syntax validieren |
helm test | Chart-Tests ausfĂŒhren |