Saltar para o conteúdo principal
Versão 3.0

Atualização via Helm

CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+Helm3.2.0+

Este guia descreve o processo de atualização dos componentes do TDP Kubernetes utilizando o Helm CLI.
A atualização via Helm permite aplicar novas versões dos charts, atualizar configurações e garantir que o ambiente esteja sempre alinhado com as versões mais recentes.


Preparo da Atualização​

Antes de iniciar qualquer atualização, execute as verificações abaixo para garantir um processo seguro.

Verificar Versões Atuais​

Liste todos os releases instalados no namespace para identificar as versões atuais:

Terminal input
helm list -n <NAMESPACE>
Figura 1 - Helm Releases
Figura 1 - Helm Releases

A saída exibirá nome do release, namespace, revisão, status, chart e versão da aplicação.

Verificar os pods e a prontidão dos workloads​

Verifique se os workloads estão prontos no namespace de destino antes de prosseguir:

Terminal input
kubectl get pods -n <NAMESPACE>
kubectl get statefulset -n <NAMESPACE>
Figura 2 - Get Pods
Figura 2 - Get Pods
Figura 3 - Get Statefulset
Figura 3 - Get Statefulset

Se a aplicação utilizar Deployment, valide também:

Terminal input
kubectl get deploy -n <NAMESPACE>

O que validar:

  • Os pods estão com STATUS Running
  • A coluna READY dos pods está completa, por exemplo 1/1
  • Os StatefulSets ou Deployments da aplicação mostram todas as réplicas prontas, por exemplo 1/1, 2/2 ou 3/3

Por que validar antes da atualização:

  • Garantir que a aplicação já está estável antes da mudança
  • Evitar confundir falha anterior com falha causada pela atualização
  • Reduzir o risco de indisponibilidade durante o processo

Backup dos Valores Atuais​

Exporte os valores atuais de cada release para possibilitar rollback em caso de falha:

Terminal input
helm get values <RELEASE_NAME> -n <NAMESPACE> -o yaml > <RELEASE_NAME>-values-backup.yaml

Repita este comando para cada release que será atualizado.

Backup dos Volumes Persistentes​

caution

Antes de qualquer atualização, realize backup dos dados persistentes. Em caso de falha grave, esses backups serão necessários para recuperação.

  1. Identifique os PVCs do componente:
Terminal input
kubectl get pvc -n <NAMESPACE> -l app.kubernetes.io/instance=<RELEASE_NAME>
Figura 4 - Get Pvc
Figura 4 - Get Pvc
  1. Crie snapshots dos volumes persistentes (se o StorageClass suportar):
Terminal input
kubectl apply -f - <<EOF
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: <RELEASE_NAME>-snapshot
namespace: <NAMESPACE>
spec:
volumeSnapshotClassName: <snapshot-class>
source:
persistentVolumeClaimName: <pvc-name>
EOF
  1. Verifique o status do snapshot:
Terminal input
kubectl get volumesnapshot -n <NAMESPACE>

Atualização dos CRDs​

warning

Os CRDs devem ser atualizados antes dos demais componentes. São recursos de escopo global no cluster e não são gerenciados automaticamente pelo Helm durante o upgrade.

Atualize os CRDs da plataforma (tdp-crds) antes de qualquer outro componente:

Terminal input
helm upgrade --install <RELEASE_NAME> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-crds \
-n <NAMESPACE> --create-namespace
Exemplo
Exemplo
helm upgrade --install tdp-crds \
oci://registry.tecnisys.com.br/tdp/charts/tdp-crds \
-n <NAMESPACE> --create-namespace
Figura 5 - Helm Upgrade tdp-crds
Figura 5 - Helm Upgrade tdp-crds

Aguarde a conclusão e verifique se os CRDs foram atualizados:

Terminal input
kubectl get crds | grep argoproj.io
Figura 6 - Verifique os cdrs
Figura 6 - Verifique os cdrs

Verifique o histórico:

Terminal input
helm history <RELEASE_NAME> -n <NAMESPACE>
Exemplo

Comando usado nas capturas desta documentação:

Exemplo
helm history demo-postgresql -n tdp-install-doc
Figura 7 - Verifica o Histórico
Figura 7 - Verifica o Histórico