O gerenciador de pacotes do Kubernetes. Empacota, versiona e distribui aplicações como charts reutilizáveis com configuração por ambiente.
Um Helm Chart é um conjunto de arquivos YAML com templates parametrizados. Em vez de ter um deployment.yaml fixo por ambiente, você tem um template com {{ .Values.image.tag }} que é substituído pelos valores do ambiente no deploy.
Cada helm upgrade cria uma nova revisão. O Helm mantém o histórico completo — rollback é instantâneo para qualquer revisão anterior.
meu-chart/Raiz do chart Chart.yamlMetadados: nome, versão, descrição, dependências values.yamlValores padrão que templates usam. Sobrescrito por ambiente values-prod.yamlOverrides para produção (não obrigatório, convenção) templates/YAML templates com placeholders {{ .Values.* }} deployment.yamlTemplate do Deployment referenciando values service.yamlTemplate do Service ingress.yamlTemplate do Ingress (pode ser condicional) _helpers.tplMacros reutilizáveis entre templates (nomes, labels) charts/Sub-charts (dependências). Geralmente via Chart.yamlimage:
repository: 123.dkr.ecr.us-east-1.amazonaws.com/app
tag: latest
pullPolicy: IfNotPresent
replicas: 2
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
ingress:
enabled: false# Só o que muda em prod:
image:
tag: v2.3.1 # versão fixada
replicas: 5 # mais réplicas
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: 2000m
memory: 1Gi
ingress:
enabled: true
host: api.empresa.comMantenha um values.yaml base e crie values-dev.yaml, values-staging.yaml, values-prod.yaml. No CI/CD, use: helm upgrade --install -f values.yaml -f values-prod.yaml
Chart.yaml tem duas versões: version (do chart em si) e appVersion (da aplicação). Bumpe version sempre que mudar os templates, appVersion quando mudar a imagem.
Nunca coloque senhas em values.yaml. Use helm-secrets (plugin) com AWS KMS ou prefira External Secrets Operator para puxar segredos do Secrets Manager.
Sub-charts são declarados em Chart.yaml como dependencies. Rode helm dependency update para baixá-los para charts/. Útil para incluir PostgreSQL ou Redis como parte do deploy.