Skip to content
Latchkey

O Que É um Helm Chart? Empacotando Apps Kubernetes

Um Helm chart é um pacote reutilizável de manifests Kubernetes templatizados mais valores padrão - o "pacote apt" dos apps Kubernetes.

Fazer deploy de um app real no Kubernetes significa uma pilha de manifests relacionados: Deployment, Service, ConfigMap, Ingress e mais. Manter isso à mão através de ambientes é tedioso e propenso a erros. Um Helm chart os agrupa como templates com valores configuráveis, então você instala e faz upgrade de um app como uma única unidade versionada.

O que há dentro de um chart

  • Chart.yaml - nome, versão e metadados.
  • templates/ - manifests Kubernetes com placeholders de templating.
  • values.yaml - valores de configuração padrão.
  • Dependências opcionais em outros charts.

Templates e values

Templates usam placeholders como {{ .Values.image.tag }}. No momento da instalação, o Helm renderiza os templates com seus values, produzindo manifests concretos. Ambientes diferentes apenas fornecem values diferentes.

Releases

Instalar um chart cria uma "release" nomeada. helm upgrade a atualiza, helm rollback a reverte, e helm history mostra revisões passadas - gerenciamento de ciclo de vida versionado para todo o seu app.

Um comando típico

helm upgrade --install web ./chart --set image.tag=1.4 instala ou faz upgrade da release web, sobrescrevendo a tag da imagem para o build que você quer entregar.

Helm charts em CD

Um pipeline de entrega renderiza ou faz upgrade de um chart com a tag ou digest da imagem que o CI acabou de produzir. O chart mantém as diferenças de ambiente em arquivos de values, então o mesmo chart promove limpo de staging para prod.

Principais conclusões

  • Um Helm chart empacota manifests Kubernetes templatizados mais valores padrão.
  • Values customizam um chart por ambiente; releases rastreiam o ciclo de vida.
  • O CD faz upgrade de um chart com a tag ou digest da imagem recém-construída.

Guias relacionados