| Comando |
O que faz |
helm repo add nome <url> |
Adiciona repositório |
helm repo update |
Atualiza índices |
helm repo list |
Lista repositórios |
helm search repo <termo> --versions |
Busca charts e versões |
helm search hub <termo> |
Busca no Artifact Hub |
helm pull nome/chart --version 1.2.3 --untar |
Baixa o chart para inspecionar |
helm registry login registry.exemplo.com |
Charts em registry OCI |
| Comando |
O que faz |
helm install <release> <chart> |
Instala |
helm upgrade --install <release> <chart> |
Instala ou atualiza (idempotente) |
-n <ns> --create-namespace |
Namespace de destino |
--version 1.2.3 |
Fixe a versão do chart |
-f values-prod.yaml |
Arquivo de valores (pode repetir) |
--set imagem.tag=1.8.3 |
Valor pontual |
--set-string anotacao=001 |
Força tipo string |
--atomic --timeout 5m |
Reverte se não ficar pronto no prazo |
--wait |
Espera os recursos ficarem prontos |
--dry-run=server |
Valida contra o cluster, sem aplicar |
--create-namespace |
Cria o namespace se não existir |
helm upgrade --install loja ./chart \
-n loja-prod --create-namespace \
-f values-prod.yaml --atomic --timeout 5m
--atomic é a diferença entre um upgrade que falha limpo e um que deixa metade dos
recursos atualizados.
| Comando |
O que faz |
helm template <release> <chart> -f values.yaml |
Renderiza sem tocar no cluster |
helm template ... | kubectl apply --dry-run=server -f - |
Valida o resultado |
helm show values <chart> |
Valores padrão do chart |
helm show chart <chart> |
Metadados |
helm get values <release> -n <ns> |
Valores efetivos da release |
helm get manifest <release> -n <ns> |
YAML aplicado |
helm get all <release> -n <ns> |
Tudo sobre a release |
helm list -A |
Releases em todos os namespaces |
helm list -A --pending |
Releases presas em transição |
helm template é o comando mais usado no dia a dia: leia o YAML final antes de aplicar.
| Comando |
O que faz |
helm history <release> -n <ns> |
Revisões |
helm rollback <release> <rev> -n <ns> |
Volta para uma revisão |
helm rollback <release> -n <ns> |
Volta uma revisão |
helm uninstall <release> -n <ns> |
Destrutivo: remove a release |
helm uninstall <release> --keep-history |
Remove, mantendo histórico |
| Comando |
O que faz |
helm create meu-chart |
Esqueleto |
helm lint ./chart |
Verifica erros comuns |
helm lint ./chart -f values-prod.yaml |
Com valores reais |
helm dependency update ./chart |
Baixa subcharts do Chart.yaml |
helm dependency build ./chart |
Usa o Chart.lock |
helm package ./chart |
Empacota .tgz |
helm test <release> -n <ns> |
Roda os hooks de teste |
helm upgrade --install loja ./chart --debug --dry-run # mostra o YAML e os valores
helm template ./chart --debug # erro de template com contexto
helm get manifest loja -n loja-prod | kubectl diff -f - # diferença contra o cluster
# release presa em pending-upgrade
helm history loja -n loja-prod
helm rollback loja <ultima-revisao-boa> -n loja-prod
Se a release ficar em pending-install/pending-upgrade após uma interrupção, o rollback
para a última revisão saudável costuma destravar.
Do menor para o maior peso:
values.yaml do chart
values.yaml do chart pai (para subcharts)
-f arquivo.yaml (o último arquivo vence)
--set, --set-string, --set-file
- Nunca instale sem
--version: o chart pode mudar entre execuções.
--set com ponto no valor precisa de escape: --set anotacao=a\.b.
- Valor numérico com zero à esquerda vira número; use
--set-string.
helm upgrade não remove recursos criados fora do chart.
- CRDs de subchart não são atualizados pelo Helm em upgrades — trate-os à parte.
- Release e namespace são o par de identidade: mesma release em namespaces diferentes são
coisas distintas.
- Em GitOps, prefira renderizar (
helm template) e versionar, ou usar o suporte a Helm do
Argo/Flux, em vez de aplicar da máquina de alguém.