Files
workshop/aula-14/cleanup.sh
T
ArgoCD Setup 60e69c9ff6 feat: adicionar aula-16 (Flagger), remover Jaeger da aula-14 e integrar tracing Istio na aula-15
- aula-16: nova aula de canary deployment automatizado com Flagger
- aula-14: removido Jaeger (tracing movido para aula-15), corrigido
  nome do serviço Victoria Metrics, adicionado rate limiting no Kiali
- aula-15: adicionado receiver Zipkin no OTel Collector para receber
  traces do Istio, corrigida porta do Tempo (3100→3200), integração
  automática com Istio quando detectado
- aula-03: corrigido MAX_REQUESTS de 10 para 3 (valor padrão)
- CLAUDE.md: adicionada aula-16 na documentação
2026-04-10 08:43:01 -03:00

115 lines
3.7 KiB
Bash
Executable File

#!/bin/bash
# ============================================================================
# Aula 14 - Cleanup do Istio Traffic Splitting
# ============================================================================
# Remove todos os componentes instalados pelo setup.sh:
# - Namespace istio (aplicação)
# - Kiali (addon)
# - Istio (istiod + base)
# - Ingress resources
#
# Mantém:
# - Cluster Kubernetes
# - Gitea e Registry (aula-10)
# - Outros namespaces
# ============================================================================
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
log_success() { echo -e "${GREEN}[OK]${NC} $1"; }
log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
log_error() { echo -e "${RED}[ERRO]${NC} $1"; }
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo ""
echo -e "${CYAN}╔═══════════════════════════════════════════════════════════╗${NC}"
echo -e "${CYAN}║ Cleanup - Aula 14 Istio Traffic Splitting ║${NC}"
echo -e "${CYAN}╚═══════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${YELLOW}Este script irá remover:${NC}"
echo " - Namespace 'istio' com aplicação"
echo " - Addon: Kiali"
echo " - Istio: istiod e istio-base"
echo " - Ingress do Kiali"
echo ""
read -p "Continuar? (digite 'sim' para confirmar): " confirm
if [[ "$confirm" != "sim" ]]; then
log_info "Operação cancelada"
exit 0
fi
echo ""
# Remover pod de teste
log_info "Removendo pod de teste..."
kubectl delete pod curl-test -n istio --ignore-not-found=true 2>/dev/null || true
# Remover namespace istio (aplicação demo)
if kubectl get namespace istio &> /dev/null; then
log_info "Removendo namespace istio..."
kubectl delete namespace istio --wait=false 2>/dev/null || true
log_success "Namespace istio marcado para remoção"
else
log_info "Namespace istio não encontrado"
fi
# Remover Ingress
log_info "Removendo Ingress..."
kubectl delete ingress kiali -n istio-system --ignore-not-found=true 2>/dev/null || true
log_success "Ingress removidos"
# Remover addon (Kiali)
log_info "Removendo Kiali..."
kubectl delete -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/addons/kiali.yaml 2>/dev/null || true
log_success "Addon removido"
# Remover istiod
if helm status istiod -n istio-system &> /dev/null; then
log_info "Removendo istiod..."
helm uninstall istiod -n istio-system --wait
log_success "istiod removido"
else
log_info "istiod não encontrado"
fi
# Remover istio-base
if helm status istio-base -n istio-system &> /dev/null; then
log_info "Removendo istio-base..."
helm uninstall istio-base -n istio-system --wait
log_success "istio-base removido"
else
log_info "istio-base não encontrado"
fi
# Remover namespace istio-system
if kubectl get namespace istio-system &> /dev/null; then
log_info "Removendo namespace istio-system..."
kubectl delete namespace istio-system --wait=false 2>/dev/null || true
log_success "Namespace istio-system marcado para remoção"
fi
# Remover arquivo .env
echo ""
read -p "Remover arquivo .env? [s/N]: " remove_env
if [[ "$remove_env" == "s" || "$remove_env" == "S" ]]; then
rm -f "${SCRIPT_DIR}/.env"
log_success "Arquivo .env removido"
fi
echo ""
echo -e "${GREEN}Cleanup concluído.${NC}"
echo ""
echo "Aguarde alguns minutos para os namespaces serem removidos completamente."
echo "Verificar: kubectl get ns"
echo ""