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:
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user