Pular para o conteúdo principal

Lab 10.3 - Criação de um Chart Personalizado

Objetivos do Lab​

Ao final deste lab, você será capaz de:

  • Criar um Chart Helm com helm create.
  • Compreender a estrutura de um Chart.
  • Modificar os templates.
  • Utilizar valores nos templates.
  • Empacotar e instalar seu Chart.

Duração Estimada​

60-75 minutos

Pré-requisitos​

  • Helm instalado e configurado.
  • Cluster Kubernetes local funcional.
  • Conhecimento sobre Charts Helm (Capítulo 10.3).

Parte 1: Criação de um Chart​

Etapa 1.1: Criar um Novo Chart​

Crie um novo Chart:

helm create my-app-chart

Examine a estrutura:

tree my-app-chart
# ou
ls -la my-app-chart/

Parte 2: Estrutura de um Chart​

Etapa 2.1: Examinar os Arquivos​

Examine os principais arquivos:

# Chart.yaml
cat my-app-chart/Chart.yaml

# values.yaml
cat my-app-chart/values.yaml

# Templates
ls my-app-chart/templates/

Parte 3: Personalização do Chart​

Etapa 3.1: Modificar Chart.yaml​

Edite my-app-chart/Chart.yaml:

apiVersion: v2
name: my-app-chart
description: Um Chart Helm personalizado para minha aplicação
type: application
version: 0.1.0
appVersion: "1.0"

Etapa 3.2: Modificar values.yaml​

Edite my-app-chart/values.yaml:

replicaCount: 2

image:
repository: nginx
pullPolicy: IfNotPresent
tag: "1.20"

service:
type: ClusterIP
port: 80

ingress:
enabled: false

Parte 4: Modificação dos Templates​

Etapa 4.1: Examinar um Template​

Veja o template de Deployment:

cat my-app-chart/templates/deployment.yaml

Etapa 4.2: Personalizar o Template​

Modifique o template para adicionar variáveis de ambiente:

# No deployment.yaml, adicione dentro do container:
env:
- name: APP_NAME
value: {{ .Values.nameOverride | default .Chart.Name }}

Parte 5: Teste e Instalação​

Etapa 5.1: Validar o Chart​

Valide a sintaxe:

helm lint my-app-chart

Etapa 5.2: Dry-Run​

Teste sem instalar:

helm install my-app my-app-chart --dry-run --debug

Etapa 5.3: Instalar o Chart​

Instale seu Chart:

helm install my-app my-app-chart

Verifique:

helm list
kubectl get all -l app.kubernetes.io/instance=my-app

Parte 6: Empacotamento​

Etapa 6.1: Empacotar o Chart​

Crie um pacote:

helm package my-app-chart

Isso cria um arquivo .tgz.

Etapa 6.2: Instalar a partir do Pacote​

Instale a partir do pacote:

helm install my-app-from-package my-app-chart-0.1.0.tgz

Parte 7: Limpeza​

helm uninstall my-app my-app-from-package
rm -rf my-app-chart my-app-chart-0.1.0.tgz

Resumo do Lab​

Neste lab, você criou seu primeiro Chart Helm personalizado. Você aprendeu a estrutura de um Chart, como modificar os templates e empacotar seu Chart.


Próximos Passos​

O último lab deste módulo mostrará como usar o Helmfile para gestão multiambientes.

Lab 10.4: Helmfile e Multiambientes


Lab criado em: Dezembro 2024