Pular para o conteúdo
Tecnologia

Helm é npm/apt para Kubernetes. Empacota apps inteiras (deployment, service, ingress) em charts reutilizáveis e versionados.

Conceitos Principais

Chart

Pacote de templates K8s. Estrutura: Chart.yaml (metadata), values.yaml (configs), templates/ (YAML com Go templates).

Values

Arquivo de configuração. Define replicas, image, resources. Override via CLI ou values-prod.yaml. Reutilize chart para dev/staging/prod.

Templates

YAML + Go templating. {{ .Values.replicaCount }}. Loops, condicionais. DRY para múltiplos manifests.

Release

Instância de chart deployada. helm install cria release. helm upgrade atualiza. helm rollback reverte. Histórico versionado.

Passo a Passo

  1. Instale Helm: brew install helm (Mac). helm version. Adicione repo: helm repo add bitnami https://charts.bitnami.com/bitnami.
  2. Use Chart Existente: Install Postgres: helm install my-db bitnami/postgresql. Valores default aplicados. Credentials em secret. Acesse: my-db-postgresql:5432.
  3. Crie Chart Custom: helm create minha-app. Estrutura gerada. Edite values.yaml: image.repository, replicaCount. Templates em templates/.
  4. Deploy Chart: helm install minha-app ./minha-app-chart. Override values: --set image.tag=v1.2. Ou -f values-prod.yaml.
  5. Gerencie Releases: Liste: helm list. Upgrade: helm upgrade minha-app ./chart. Rollback: helm rollback minha-app 1. History: helm history minha-app.

Boas Praticas

Recomendacoes

• Use charts oficiais (bitnami, stable)

• Versione charts (Chart.yaml version)

• Secrets via sealed-secrets ou Vault

• Lint charts: helm lint

• Template testing: helm template

Erros Comuns

Evite estes erros

• Hardcodar valores nos templates

• Não versionar values.yaml

• Secrets direto no values (use external secrets)

• Não testar dry-run antes de apply

Checklist

  • Helm instalado
  • Chart criado ou selecionado
  • values.yaml configurado
  • Deploy testado em staging
  • Rollback testado
  • CI/CD integrado com Helm