fix: corrigir tipos de servidor AMD (CPX→CX), autoscaler, stdin e cleanup

- Corrigir tipos Hetzner: CPX não existe, usar CX (Intel shared vCPU)
  - CX23 (2 vCPU, 4GB) equivalente ao CAX11
  - CX33 (4 vCPU, 8GB) equivalente ao CAX21
  - CX43 (8 vCPU, 16GB) equivalente ao CAX31
- Corrigir location no autoscaler para amd64 (nbg1→fsn1)
- Remover gitlab-pool do autoscaler (substituído pelo Gitea)
- Aumentar worker-pool max para 30
- Corrigir Floating IP e Load Balancer hardcoded em nbg1
- Corrigir stdin em read interativo: usar < /dev/tty e read -p
- Corrigir cleanup de namespace: lidar com Terminating e finalizers
- Corrigir CNPG: nome do deployment, secret e endpointURL duplo
- Aulas afetadas: 08, 09, 10, 11, 12, 14, 17
This commit is contained in:
ArgoCD Setup
2026-05-09 07:24:26 -03:00
parent 3d042a29ae
commit a0cf1e6cef
18 changed files with 153 additions and 92 deletions
+22 -2
View File
@@ -39,19 +39,39 @@ echo ""
# Remover Helm release
log_info "Removendo Victoria Metrics Stack..."
if helm status monitoring -n monitoring &> /dev/null; then
helm uninstall monitoring -n monitoring --wait 2>/dev/null || true
helm uninstall monitoring -n monitoring --wait --timeout=120s 2>/dev/null || {
log_warn "Helm uninstall falhou, removendo com --no-hooks..."
helm uninstall monitoring -n monitoring --no-hooks 2>/dev/null || true
}
log_success "Helm release removido"
else
log_info "Helm release não encontrado"
fi
# Remover finalizers de CRDs do Victoria Metrics (podem prender o namespace)
log_info "Limpando finalizers de CRDs..."
for crd in vmagents vmalerts vmsingles vmclusters vmnodes vmrules vmauths; do
for resource in $(kubectl get $crd.operator.victoriametrics.com -n monitoring -o name 2>/dev/null); do
kubectl patch "$resource" -n monitoring --type=json \
-p='[{"op":"remove","path":"/metadata/finalizers"}]' 2>/dev/null || true
done
done
# Remover PVCs
log_info "Removendo PVCs..."
kubectl delete pvc --all -n monitoring --wait=false 2>/dev/null || true
# Remover namespace
log_info "Removendo namespace..."
kubectl delete namespace monitoring --timeout=60s 2>/dev/null || true
if kubectl get namespace monitoring &>/dev/null; then
kubectl delete namespace monitoring --timeout=120s 2>/dev/null || {
log_warn "Namespace preso em Terminating, forçando remoção..."
kubectl get namespace monitoring -o json | \
python3 -c "import sys,json; d=json.load(sys.stdin); d['metadata'].pop('finalizers',None); json.dump(d,sys.stdout)" | \
kubectl replace --raw /api/v1/namespaces/monitoring/finalize -f - 2>/dev/null || true
kubectl wait --for=delete namespace monitoring --timeout=60s 2>/dev/null || sleep 5
}
fi
log_success "Namespace removido"
# Remover .env