Startseite
Kubernetes Helm Chart
DevOps & Cloud-Native Werkzeuge

Kubernetes Helm Chart (Chart.yaml & values.yaml) Generator

Erstellen Sie standardkonforme Kubernetes Helm v3 Chart.yaml, values.yaml und Deployment-Vorlagen mit Service, Ingress und Ressourcenbegrenzungen.

100% clientseitige Privatsphäre
Helm v3 Spezifikation
Vorlagen:
Chart-Konfiguration & Values
Chart.yaml Metadaten
Workload, Replikate & Container-Image
Netzwerk: Service & Ingress
Ressourcen & HPA-Autoskalierung
Sicherheits-Härtung & Probes
Umgebungsvariablen (3)
1# Default values for web-api-service.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
4
5replicaCount: 3
6
7image:
8 repository: ghcr.io/org/api-service
9 pullPolicy: IfNotPresent
10 # Overrides the image tag whose default is the chart appVersion.
11 tag: "v1.4.2"
12
13imagePullSecrets: []
14nameOverride: ""
15fullnameOverride: ""
16
17serviceAccount:
18 # Specifies whether a service account should be created
19 create: true
20 # Automatically mount a ServiceAccount's API credentials?
21 automount: true
22 # Annotations to add to the service account
23 annotations: {}
24 # The name of the service account to use.
25 # If not set and create is true, a name is generated using the fullname template
26 name: ""
27
28podAnnotations: {}
29podLabels: {}
30
31podSecurityContext:
32 fsGroup: 2000
33
34securityContext:
35 capabilities:
36 drop:
37 - ALL
38 readOnlyRootFilesystem: true
39 runAsNonRoot: true
40 runAsUser: 1000
41
42service:
43 type: ClusterIP
44 port: 80
45 targetPort: 8080
46
47ingress:
48 enabled: true
49 className: "nginx"
50 annotations:
51 cert-manager.io/cluster-issuer: letsencrypt-prod
52 nginx.ingress.kubernetes.io/ssl-redirect: "true"
53 hosts:
54 - host: api.example.com
55 paths:
56 - path: /
57 pathType: ImplementationSpecific
58 tls:
59 - secretName: api-example-tls
60 hosts:
61 - api.example.com
62
63resources:
64 limits:
65 cpu: 500m
66 memory: 512Mi
67 requests:
68 cpu: 100m
69 memory: 128Mi
70
71autoscaling:
72 enabled: true
73 minReplicas: 2
74 maxReplicas: 10
75 targetCPUUtilizationPercentage: 80
76 targetMemoryUtilizationPercentage: 80
77
78livenessProbe:
79 httpGet:
80 path: /healthz
81 port: http
82 initialDelaySeconds: 15
83 periodSeconds: 20
84
85readinessProbe:
86 httpGet:
87 path: /ready
88 port: http
89 initialDelaySeconds: 5
90 periodSeconds: 10
91
92env:
93 - name: NODE_ENV
94 value: "production"
95 - name: PORT
96 value: "8080"
97 - name: LOG_LEVEL
98 value: "info"
99
100envFrom: []
101volumes: []
102volumeMounts: []
103nodeSelector: {}
104tolerations: []
105affinity: {}
Chart-Struktur
web-api-service (0.1.0)
Helm v3 • 8 Manifeste generiert • App 1.4.2
Workload & Netzwerk
3 Pods • ClusterIP
Port 80:8080 • Ingress: Aktiv
Sicherheitshärtung
100/100Abgesichert
Non-Root • Probes aktiv

100% Client-seitige Helm-Generierung

Erstellen Sie gültige Helm v3 Charts, Metadaten und Vorlagen vollständig im Browser ohne Übertragung sensibler Server- oder Cluster-Details.

Produktionserprobte Sicherheitsstandards

Enthält non-root Sicherheitskontexte, Drop-ALL Linux-Capabilities, HTTP Liveness/Readiness-Probes und Horizontal Pod Autoscaling.

Vollständige Helm v3 Template-Kompatibilität

Standardmäßige _helpers.tpl Definitionen, DNS-sichere Begrenzungen (63 Zeichen), Ingress-Bindungen und einsatzbereite Helm-CLI-Befehle.

Technische Referenz & Architektur-Leitfaden

Kubernetes Helm Chart (Chart.yaml & values.yaml) Generator Entwickler-Handbuch — Referenz-Leitfaden

Erstellen Sie standardkonforme Kubernetes Helm v3 Chart.yaml, values.yaml und Deployment-Vorlagen mit Service, Ingress und Ressourcenbegrenzungen.

Wichtige Parameter & Steuerelemente

namestring

Name des Helm-Charts gemäß Kubernetes RFC 1123 DNS-Subdomain-Vorgaben (Kleinbuchstaben, Zahlen und Bindestriche).

Standard: my-app
apiVersionstring

Schema-Version der Helm-Chart-API. Helm v3 erfordert zwingend 'v2', während das veraltete Helm v2 'v1' nutzte.

Standard: v2
versionstring

SemVer 2-konforme Versionsnummer des Charts selbst. Muss bei Vorlagen- oder Standardwertänderungen erhöht werden.

Standard: 0.1.0
appVersionstring

Versionszeichenfolge der eigentlichen Anwendung oder des Container-Image-Tags.

Standard: 1.0.0
replicaCountinteger

Gewünschte Anzahl der Pod-Replikate auf den Worker-Knoten des Clusters.

Standard: 2
image.repositorystring

Registry-Pfad und Image-Name des Containers (z. B. docker.io/library/nginx oder gcr.io/project/service).

Standard: nginx
service.typestring

Freigabetyp des Kubernetes-Services: ClusterIP (intern), NodePort oder LoadBalancer (externe Cloud-IP).

Standard: ClusterIP
resourcesobject

Ressourcenreservierungen (requests) und Obergrenzen (limits) für CPU (Millicores) und Arbeitsspeicher (Mi/Gi).

Standard: requests: { cpu: 100m, memory: 128Mi }, limits: { cpu: 500m, memory: 512Mi }

Profi-Tipps & Best Practices

Führen Sie vor dem Rollout stets 'helm

Führen Sie vor dem Rollout stets 'helm lint ./my-chart' und 'helm template my-release ./my-chart --debug' aus, um Syntaxfehler und Go-Template-Probleme ohne Zugriff auf die Kubernetes-API frühzeitig zu erkennen.

Trennen Sie die 'version' in

Trennen Sie die 'version' in Chart.yaml strikt von 'appVersion'. Auch wenn sich das Container-Image nicht ändert, erfordern Modifikationen an Hilfsvorlagen oder Standardwerten in values.yaml eine Erhöhung der Chart-Patch- oder Minor-Version.

Definieren Sie stets CPU- und

Definieren Sie stets CPU- und Speicherwerte in values.yaml. Präzise Requests ermöglichen dem kube-scheduler eine optimale Pod-Platzierung, während Limits verhindern, dass speicherhungrige Container benachbarte Workloads verdrängen.

Konfigurieren Sie ingress.annotations

Konfigurieren Sie ingress.annotations mit 'cert-manager.io/cluster-issuer: letsencrypt-prod' und tragen Sie die Ingress-TLS-Hosts ein, um SSL-Zertifikate automatisch via cert-manager zu provisionieren und zu erneuern.

Häufige Fallstricke & Fehlerbehebung

Helm install schlägt mit 'cannot re-use a name that is still in use' fehl

Ein zuvor fehlgeschlagener Installationsversuch hat verwaiste Helm-Secrets im Namespace hinterlassen. Verwenden Sie 'helm upgrade --install <release-name> <chart>' für einen idempotenten Rollout oder entfernen Sie den Zustand mit 'helm uninstall <release-name>' und 'kubectl delete secret -l name=<release-name>'.

Upgrade wird mit 'field is immutable' am Deployment-Selektor abgewiesen

Das Feld spec.selector in Kubernetes-Deployments ist nach der Erstellung unveränderlich. Stellen Sie sicher, dass matchLabels statische Bezeichner wie 'app.kubernetes.io/name' verwendet, oder löschen Sie das alte Deployment manuell vor dem Upgrade.

Pods verharren nach dem Deployment in CrashLoopBackOff oder OOMKilled

Der Container überschreitet das Speicherlimit oder Health-Checks schlagen fehl. Erhöhen Sie 'resources.limits.memory' in values.yaml und verlängern Sie 'initialDelaySeconds' bei liveness- und readinessProbes, um dem Dienst ausreichend Startzeit zu gewähren.

Häufig gestellte Fragen (FAQ)

Was ist der strukturelle Unterschied zwischen Chart.yaml und values.yaml?▼

Chart.yaml enthält übergeordnete Metadaten des Pakets (Name, Chart-Version, Schema und Abhängigkeiten). values.yaml definiert die konfigurierbaren Parameter und Standardwerte, die von den Go-Vorlagen im Ordner templates/ verarbeitet werden, um die Kubernetes-Manifeste zu generieren.

Warum setzt Helm v3 in Chart.yaml auf apiVersion: v2?▼

Mit Helm v3 wurde die API-Version auf 'v2' aktualisiert, da die serverseitige Tiller-Komponente vollständig entfernt, das Abhängigkeitsmanagement von requirements.yaml direkt in Chart.yaml überführt und native OCI-Registries integriert wurden.

Wie sollten sensible Zugangsdaten und Passwörter verwaltet werden?▼

Vermeiden Sie Klartext-Geheimnisse in values.yaml. Nutzen Sie stattdessen den External Secrets Operator (Anbindung an Vault, AWS Secrets Manager oder GCP), Sealed Secrets oder verweisen Sie über einen Parameter wie 'existingSecret' auf vorab im Cluster hinterlegte Secrets.

Welche Rangfolge gilt beim Überschreiben von Helm-Werten?▼

Die Auswertung erfolgt streng hierarchisch: Standardwerte aus values.yaml besitzen die niedrigste Priorität, gefolgt von Werten aus mit '-f / --values' übergebenen Dateien (letzte Datei gewinnt) und schließlich '--set'-Parametern auf der Kommandozeile mit höchster Priorität.

Verwandte Werkzeuge & Dienstprogramme

Alle Werkzeuge →