Saltar para o conteúdo principal
Versão Next

Atualização via Helm

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> -n <namespace> -o yaml > <release>-values-backup.yaml

Repita este comando para cada release que será atualizado.

Backup dos Volumes Persistentes

atenção

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>
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>-snapshot
    namespace: <namespace>
    spec:
    volumeSnapshotClassName: <snapshot-class>
    source:
    persistentVolumeClaimName: <pvc-name>
    EOF
  2. Verifique o status do snapshot:

    Terminal input
    kubectl get volumesnapshot -n <namespace>

Atualização dos CRDs

aviso

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

Atualize os CRDs do ArgoCD antes de qualquer outro componente:

Terminal input
helm upgrade tdp-argo-crds oci://registry.tecnisys.com.br/tdp/charts/tdp-argo-crds \
-n <namespace> \
-f values-argo-crds.yaml

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

Terminal input
kubectl get crds | grep argoproj.io