Install Helm, deploy a chart from a public repo, write your own chart with values, and set up a simple CI pipeline.
A real application needs a Deployment, Service, ConfigMap, Ingress, ServiceAccount, and maybe a Secret. That's 6+ YAML files. Helm packages them into a single chart with configurable values. Instead of editing YAML, you set values.
# Install: helm.sh/docs/intro/install
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Add a chart repository
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
# Install nginx from bitnami
helm install my-nginx bitnami/nginx
# List installed releases
helm list
# Upgrade
helm upgrade my-nginx bitnami/nginx --set replicaCount=3
# Uninstall
helm uninstall my-nginxhelm create my-app
# Creates:
# my-app/
# Chart.yaml ← chart metadata
# values.yaml ← default values
# templates/ ← Kubernetes YAML with Go templates
# deployment.yaml
# service.yaml
# ingress.yamlreplicaCount: 2
image:
repository: nginx
tag: '1.25'
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 80
ingress:
enabled: true
host: myapp.localhelm install my-release ./my-app \
--set replicaCount=3 \
--set image.tag=1.26
# Or use a values file
helm install my-release ./my-app -f production-values.yamlhelm install release-name chart-name. helm upgrade updates. helm rollback reverts.{{ .Values.replicaCount }} renders the value from values.yaml.