Gráficos Helm e manifestos do Kubernetes em CI/CD
Empacote e versione implantações do Kubernetes com gráficos Helm, modele a configuração por ambiente e automatize lançamentos de gráficos pelo GitHub Actions.
Gráficos Helm e manifestos do Kubernetes em CI/CD é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
O problema da proliferação de manifestos
Implantar no Kubernetes significa escrever muitos manifestos YAML: implantações, serviços, ConfigMaps e recursos de entrada. Copiá-los para cada ambiente rapidamente se torna impossível de gerenciar.
O Helm resolve isso ao empacotar os manifestos em um pacote reutilizável e versionado.
O que é Helm
O Helm é o gerenciador de pacotes do Kubernetes. Um pacote é um conjunto de manifestos com modelos, acompanhado de valores padrão.
Chart.yaml— metadados e versão do pacotevalues.yaml— configuração padrãotemplates/— modelos de manifestos
Estrutura do pacote
Um diretório típico de pacote se parece com isto. O Helm renderiza os modelos usando os valores para produzir o YAML final do Kubernetes.
mychart/
Chart.yaml
values.yaml
templates/
deployment.yaml
service.yamlCriando modelos com valores
Os modelos usam marcadores de posição que obtêm dados de values.yaml. Isso permite que um único modelo atenda a vários ambientes.
# templates/deployment.yaml
spec:
replicas: {{ .Values.replicaCount }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}Valores por ambiente
Mantenha um arquivo de valores separado para cada ambiente e passe-o no momento da instalação. O ambiente de homologação pode executar 1 réplica, enquanto o de produção executa 5.
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--namespace productionInstalação versus atualização
O comando helm upgrade --install é idempotente: instala a versão se ela não existir ou a atualiza se já existir.
Esse único comando é ideal para integração e entrega contínuas porque funciona tanto na primeira implantação quanto nas seguintes.
Definindo o identificador da imagem na integração contínua
Na integração contínua, normalmente você injeta o identificador da imagem recém-compilada (geralmente o SHA da confirmação) usando --set.
Isso vincula a versão do Kubernetes ao artefato exato que o processo acabou de produzir.
- run: |
helm upgrade --install myapp ./mychart \
--set image.tag=${{ github.sha }}Verificando pacotes
Antes de implantar, valide o pacote com helm lint e renderize-o com helm template para detectar erros de YAML ou de modelagem antecipadamente.
- run: helm lint ./mychart
- run: helm template myapp ./mychart -f values-prod.yamlReversões com Helm
Helm acompanha cada versão publicada como uma revisão numerada. Se uma implantação der errado, você poderá revertê-la imediatamente.
Isso combina bem com práticas de recuperação de desastres, pois é rápido e determinístico.
helm history myapp
helm rollback myapp 3Empacotamento e publicação
Os charts podem ser empacotados em arquivos versionados e enviados para um repositório de charts ou para um registro OCI, assim como as imagens de contêiner.
Isso permite que outras equipes consumam seu chart pela versão.
helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/chartsUm trabalho de implantação do Helm
Reunindo tudo: autentique-se no cluster, configure o Helm e faça a atualização. A action setup-helm do Azure instala a CLI no executor.
- uses: azure/setup-helm@v4
- run: |
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--set image.tag=${{ github.sha }} \
--waitVerificação rápida
Teste sua compreensão sobre o Helm em CI/CD.
Recapitulação
Você aprendeu a implantar aplicativos Kubernetes com o Helm.
- Os charts empacotam manifestos com modelos e o arquivo
values.yaml - Os arquivos de valores por ambiente configuram staging e produção
helm upgrade --installé o comando idempotente de implantação em CI- As revisões permitem reversões imediatas, e os charts podem ser publicados como as imagens
O Helm transforma manifestos brutos em versões publicadas, reutilizáveis e versionadas.
Perguntas Frequentes
A aula “Gráficos Helm e manifestos do Kubernetes em CI/CD” é grátis?
Sim — o texto completo de “Gráficos Helm e manifestos do Kubernetes em CI/CD” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Gráficos Helm e manifestos do Kubernetes em CI/CD”?
Empacote e versione implantações do Kubernetes com gráficos Helm, modele a configuração por ambiente e automatize lançamentos de gráficos pelo GitHub Actions. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Gráficos Helm e manifestos do Kubernetes em CI/CD”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Criação de imagens Docker com Actions
- Envio de imagens para registros
- Implantação no Kubernetes com Actions
- Gráficos Helm e manifestos do Kubernetes em CI/CD