Skip to content
Latchkey

O que é o Helm? O gerenciador de pacotes do Kubernetes explicado

O Helm é o gerenciador de pacotes do Kubernetes: ele agrupa os manifestos de uma aplicação em um chart versionado e parametrizado que pode ser instalado e atualizado com um único comando.

Fazer o deploy de um app no Kubernetes pode significar gerenciar dezenas de manifestos YAML. O Helm os empacota em um "chart" com valores parametrizados, de modo que instalar ou atualizar uma aplicação se torna um único comando repetível, com versionamento e rollback embutidos.

O que é o Helm

O Helm é um gerenciador de pacotes para o Kubernetes. Um Helm chart é um pacote de manifestos do Kubernetes com templates, mais um arquivo de valores para configuração. A CLI "helm" renderiza os templates com seus valores e aplica o resultado a um cluster, rastreando cada instalação como um release versionado.

Charts, valores e releases

Os templates usam placeholders preenchidos a partir de um values.yaml, então um único chart atende muitos ambientes trocando os valores. Instalar um chart cria um release que o Helm rastreia; "helm upgrade" aplica mudanças e "helm rollback" reverte para uma revisão anterior. Repositórios públicos de charts fornecem charts prontos para softwares comuns.

Um exemplo de uso

Instale e atualize um release com valores personalizados.

Common Helm commands
# install a chart as a named release
helm install myapp ./chart -f values-prod.yaml

# upgrade it later
helm upgrade myapp ./chart -f values-prod.yaml

Papel em CI/CD

Em CI/CD, o Helm é o passo de deploy para apps no Kubernetes: um pipeline constrói uma imagem, faz o push e então executa "helm upgrade --install" para publicar a nova versão com valores específicos do ambiente. "helm template" pode renderizar manifestos para revisão ou diff em um PR, e "helm lint" valida um chart. Releases e rollback tornam os deploys auditáveis e reversíveis.

Alternativas

O Kustomize (embutido no kubectl) sobrepõe overlays a manifestos base sem templating. Um simples kubectl apply funciona para casos simples. Ferramentas de GitOps como Argo CD e Flux podem fazer deploy de Helm charts de forma declarativa. O Helm continua sendo a forma mais comum de empacotar e fazer deploy de aplicações Kubernetes.

Principais conclusões

  • O Helm empacota manifestos do Kubernetes em charts versionados e parametrizados.
  • Valores personalizam um chart por ambiente; releases habilitam rollback.
  • Em CI ele é o passo de deploy: "helm upgrade --install" publica novas versões.

Guias relacionados