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