Helm zjednodušuje deployment aplikací do Kubernetes — parametrizované šablony, verzování a sdílení přes chart repository. Od manuálních YAML souborů k reprodukovatelným deploymentům.
YAML hell v Kubernetes¶
Deployment aplikace do Kubernetes vyžaduje desítky YAML souborů — Deployment, Service, ConfigMap, Secret, Ingress, PVC. Pro každé prostředí (dev, staging, prod) se liší hodnoty ale struktura je stejná.
Helm řeší tento problém — je to package manager pro Kubernetes. Chart je balíček parametrizovaných šablon, Values soubor definuje konfiguraci pro konkrétní prostředí.
Anatomie Helm chartu¶
Helm chart struktura:
Chart.yaml # Metadata chartu
values.yaml # Výchozí hodnoty
templates/
deployment.yaml # Kubernetes Deployment šablona
service.yaml # Service šablona
ingress.yaml # Ingress šablona
_helpers.tpl # Sdílené template funkce
Šablona s Go template syntax:
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}
spec:
replicas: {{ .Values.replicaCount }}
template:
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
resources:
limits:
cpu: {{ .Values.resources.limits.cpu }}
memory: {{ .Values.resources.limits.memory }}
Helm workflow¶
Základní Helm příkazy:
# Instalace chartu
helm install my-release ./my-app \
--set image.tag=v1.2.3 \
--values production-values.yaml
# Upgrade
helm upgrade my-release ./my-app \
--set image.tag=v1.3.0
# Rollback
helm rollback my-release 1
# Seznam releases
helm list
Helm udržuje historii releases — rollback na předchozí verzi je jedním příkazem. Release je instance chartu v clusteru.
Chart repository a sdílení¶
Helm charts lze sdílet přes repository — obdoba npm registry pro Kubernetes:
- stable/** — oficiální community charts (nginx, PostgreSQL, Redis, Prometheus)
- Privátní repository** — ChartMuseum nebo S3-based pro interní charty
- Dependencies** — chart může záviset na jiných chartech (requirements.yaml)
Kombinace Helm + CI/CD pipeline = reprodukovatelné, auditovatelné deploymenty across všechna prostředí.
Závěr: standard pro Kubernetes deployment¶
Helm se stává de facto standardem pro packaging a deployment Kubernetes aplikací. Parametrizované šablony, verzování a rollback výrazně zjednodušují operace. Pro každý Kubernetes projekt doporučujeme Helm charts od začátku.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns