Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Revisando Helm

Olá, estou revisando alguns conceitos e tive a seguinte dúvida: Não seria melhor no projeto final que tudo pudesse estar dentro do Helm sem redundâncias? Não entendi muito bem essa organização:

https://github.com/alura-cursos/Kubernetes-helm/tree/Aula_5/helm

2 respostas
solução!

Ola! como quase tudo na programação a resposta é: Depende!
pois depende do objetivo do projeto e do que você quer versionar como chart.

No projeto tem:

  • Uma pasta gateway

  • Uma pasta helm

    • Chart.yaml
    • values.yaml
    • templates/ (com configmap, services, gateway, etc.)

A ideia aqui normalmente é separar:

  • Código/manifests “puros” da aplicação (às vezes usados sem Helm, para estudo ou comparação)
  • Chart Helm, que é o pacote reutilizável e parametrizável

“Não seria melhor colocar tudo dentro do Helm?”

Se o objetivo for distribuir e instalar a aplicação exclusivamente via Helm, então sim: faz sentido que todos os manifests Kubernetes fiquem dentro da pasta do chart (helm/templates) e que não existam YAMLs duplicados fora dele.

Mas existem alguns motivos para manter essa separação em um projeto de curso:

  1. Didática
    Primeiro você aprende a criar os YAMLs “na mão” (Deployment, Service, ConfigMap etc.).
    Depois aprende a transformar isso em templates Helm.
    Manter os dois ajuda a comparar “antes e depois”.

  2. Evolução incremental
    O projeto pode ter começado com manifests estáticos e depois evoluído para Helm. Em vez de apagar tudo, mantém-se a estrutura anterior.

  3. Organização por responsabilidade
    Às vezes:

    • gateway/ → código da aplicação
    • helm/ → infraestrutura de deploy
      Isso deixa claro que o chart é apenas a camada de empacotamento para Kubernetes.

Quando é considerado uma boa prática?

Em projetos reais, o mais comum é:

  • Ter o código da aplicação em um repositório
  • Ter o chart Helm em outro repositório
    ou
  • Ter uma pasta /chart ou /helm bem definida como o artefato de deploy

E evitar manter YAMLs duplicados fora do Helm, porque isso realmente gera redundância e risco de inconsistência.

Mas pra resumir essa historia toda:

Não está “errado” deixar tudo dentro do Helm.
Mas no contexto do curso, a organização provavelmente foi pensada para:

  • Mostrar a evolução dos manifests
  • Separar aplicação de empacotamento
  • Facilitar entendimento didático

Abraços.

Olá! Perfeita sua explicação! Entendi.

muito obrigada!