aula-05: KEDA + Victoria Metrics para auto-scaling

- Auto-scaling baseado em pods indisponíveis e restarts
- Victoria Metrics para coleta de métricas
- NGINX Ingress com retry automático (5 tentativas)
- Configuração ultra-agressiva: +5 pods/segundo
- Script setup.sh para instalação completa
- Mínimo 5 pods, máximo 30 pods
This commit is contained in:
Allyson de Paula
2025-12-25 17:19:11 -03:00
parent 9e834de48d
commit ed60410cb9
7 changed files with 603 additions and 0 deletions

57
aula-05/teste-stress.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/bash
# Teste de Stress para verificar resiliência do Ingress + Auto-Scaling
# Uso: ./teste-stress.sh [URL] [NUM_REQUESTS]
URL="${1:-http://localhost}"
TOTAL="${2:-100}"
TIMEOUT=120
echo "============================================"
echo " Teste de Stress - Auto-Scaling com KEDA"
echo "============================================"
echo "URL: $URL"
echo "Requisições: $TOTAL"
echo "Timeout: ${TIMEOUT}s"
echo "============================================"
echo ""
SUCCESS=0
FAIL=0
for i in $(seq 1 $TOTAL); do
RESULT=$(curl -s -m $TIMEOUT "$URL" 2>&1)
if echo "$RESULT" | grep -q "Req ->"; then
SUCCESS=$((SUCCESS + 1))
echo -e "[$i/$TOTAL] \033[32mOK\033[0m - $RESULT"
else
FAIL=$((FAIL + 1))
# Extrai apenas o título do erro se for HTML
if echo "$RESULT" | grep -q "<title>"; then
ERROR=$(echo "$RESULT" | grep -o "<title>[^<]*</title>" | sed 's/<[^>]*>//g')
else
ERROR="$RESULT"
fi
echo -e "[$i/$TOTAL] \033[31mFALHA\033[0m - $ERROR"
fi
sleep 0.2
done
echo ""
echo "============================================"
echo " Resultado Final"
echo "============================================"
PERCENT=$((SUCCESS * 100 / TOTAL))
echo -e "Sucesso: \033[32m$SUCCESS\033[0m / $TOTAL ($PERCENT%)"
echo -e "Falhas: \033[31m$FAIL\033[0m / $TOTAL"
echo "============================================"
if [ $FAIL -eq 0 ]; then
echo -e "\033[32m*** ZERO FALHAS! ***\033[0m"
elif [ $PERCENT -ge 95 ]; then
echo -e "\033[33mBom resultado (>= 95%)\033[0m"
else
echo -e "\033[31mResultado abaixo do esperado\033[0m"
fi