fix(aula-10,11): aumentar recursos GitLab e melhorar instruções DNS

aula-10:
- Aumentar memory requests para forçar nodes dedicados via autoscaler
- webservice: 2Gi → 2.5Gi, sidekiq: 1.5Gi → 2Gi
- gitaly/postgresql: 512Mi → 1Gi, redis: 256Mi → 512Mi
- Total: ~5GB → ~7.5GB para separar GitLab do ArgoCD

aula-11:
- Adicionar instruções DNS detalhadas (CloudFlare e Let's Encrypt)
- Adicionar pausa interativa para aguardar propagação DNS
- Evita esgotar retries do Let's Encrypt antes do DNS propagar
This commit is contained in:
ArgoCD Setup
2026-01-24 03:00:03 -03:00
parent 35523a1c1b
commit 3e53328214
2 changed files with 49 additions and 18 deletions

View File

@@ -4,7 +4,7 @@
# #
# Esta configuração: # Esta configuração:
# - Usa NGINX Ingress Controller externo (instalado na aula-08) # - Usa NGINX Ingress Controller externo (instalado na aula-08)
# - Define ~5GB de recursos distribuídos em 2 workers CAX11 (antiAffinity) # - Define ~7.5GB de recursos para forçar nodes dedicados via autoscaler
# - Desabilita componentes não essenciais para economizar recursos # - Desabilita componentes não essenciais para economizar recursos
# - Configura Registry para container images # - Configura Registry para container images
# #
@@ -96,10 +96,10 @@ gitlab:
maxReplicas: 1 maxReplicas: 1
resources: resources:
requests: requests:
memory: 2Gi
cpu: 200m
limits:
memory: 2.5Gi memory: 2.5Gi
cpu: 300m
limits:
memory: 3Gi
cpu: 1 cpu: 1
workerProcesses: 1 workerProcesses: 1
puma: puma:
@@ -123,10 +123,10 @@ gitlab:
maxReplicas: 1 maxReplicas: 1
resources: resources:
requests: requests:
memory: 1.5Gi
cpu: 100m
limits:
memory: 2Gi memory: 2Gi
cpu: 200m
limits:
memory: 2.5Gi
cpu: 500m cpu: 500m
# Desabilitar memory watchdog interno do GitLab (deixa o OOM killer do K8s gerenciar) # Desabilitar memory watchdog interno do GitLab (deixa o OOM killer do K8s gerenciar)
memoryKiller: memoryKiller:
@@ -146,10 +146,10 @@ gitlab:
gitaly: gitaly:
resources: resources:
requests: requests:
memory: 512Mi
cpu: 100m
limits:
memory: 1Gi memory: 1Gi
cpu: 150m
limits:
memory: 1.5Gi
cpu: 500m cpu: 500m
persistence: persistence:
size: 10Gi # Mínimo Hetzner ($0.0484/GB) size: 10Gi # Mínimo Hetzner ($0.0484/GB)
@@ -203,10 +203,10 @@ postgresql:
primary: primary:
resources: resources:
requests: requests:
memory: 512Mi
cpu: 100m
limits:
memory: 1Gi memory: 1Gi
cpu: 150m
limits:
memory: 1.5Gi
cpu: 500m cpu: 500m
persistence: persistence:
size: 10Gi # Mínimo Hetzner ($0.0484/GB) size: 10Gi # Mínimo Hetzner ($0.0484/GB)
@@ -220,11 +220,11 @@ redis:
master: master:
resources: resources:
requests: requests:
memory: 256Mi
cpu: 50m
limits:
memory: 512Mi memory: 512Mi
cpu: 200m cpu: 100m
limits:
memory: 1Gi
cpu: 300m
persistence: persistence:
size: 10Gi # Mínimo Hetzner ($0.0484/GB) size: 10Gi # Mínimo Hetzner ($0.0484/GB)
storageClass: hcloud-volumes storageClass: hcloud-volumes

View File

@@ -23,6 +23,7 @@ RED='\033[0;31m'
GREEN='\033[0;32m' GREEN='\033[0;32m'
YELLOW='\033[1;33m' YELLOW='\033[1;33m'
BLUE='\033[0;34m' BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color NC='\033[0m' # No Color
# Funções de log # Funções de log
@@ -421,8 +422,38 @@ echo " Status no GitLab: https://${GITLAB_HOST}/admin/runners"
echo "" echo ""
echo "Próximos passos:" echo "Próximos passos:"
echo "" echo ""
# Obter IP do LoadBalancer
LB_IP=$(kubectl get svc -n ingress-nginx ingress-nginx-controller \
-o jsonpath='{.status.loadBalancer.ingress[0].ip}' 2>/dev/null || echo "<pendente>")
# Extrair nome do host
HOST_NAME=$(echo "$ARGOCD_HOST" | cut -d. -f1)
echo "1. Configure DNS:" echo "1. Configure DNS:"
echo " Adicione registro A para ${ARGOCD_HOST} apontando para o LoadBalancer" echo ""
if [[ "$USE_CLOUDFLARE" == "true" ]]; then
echo " No painel do CloudFlare (https://dash.cloudflare.com):"
echo ""
echo -e " ${YELLOW}Tipo:${NC} A"
echo -e " ${YELLOW}Nome:${NC} ${HOST_NAME}"
echo -e " ${YELLOW}Conteúdo:${NC} ${GREEN}${LB_IP}${NC}"
echo -e " ${YELLOW}Proxy:${NC} ✓ (ícone laranja)"
echo ""
echo -e " ${GREEN}O CloudFlare cuida do TLS automaticamente!${NC}"
else
echo " No seu provedor DNS:"
echo ""
echo -e " ${YELLOW}Tipo:${NC} A"
echo -e " ${YELLOW}Nome:${NC} ${HOST_NAME}"
echo -e " ${YELLOW}Valor:${NC} ${GREEN}${LB_IP}${NC}"
if [[ "$USE_LETSENCRYPT" == "true" ]]; then
echo ""
echo -e " ${GREEN}Let's Encrypt irá emitir certificados automaticamente!${NC}"
echo -e " Aguarde ~2 minutos após configurar o DNS."
echo ""
read -rp " Pressione ENTER após configurar o DNS e aguardar a propagação... "
fi
fi
echo "" echo ""
echo "2. Crie um repositório GitOps no GitLab:" echo "2. Crie um repositório GitOps no GitLab:"
echo " - Nome: gitops-demo" echo " - Nome: gitops-demo"