fix: remover hardcoded ARM64 de aula-08/13/14 para suportar amd64

- aula-08/outputs.tf: usar local.selected_arch ao invés de CAX11 fixo
- aula-08/cleanup.sh: detectar arch dos nodes para filtrar instance type
- aula-08/setup.sh: custos estimados baseados na arch selecionada
- aula-13/prepare-images.sh: detectar arch do cluster automaticamente
- aula-14/setup.sh: detectar arch do cluster para build correto
This commit is contained in:
ArgoCD Setup
2026-05-09 03:39:33 -03:00
parent 72ffe47528
commit 3d042a29ae
5 changed files with 36 additions and 15 deletions
+8 -1
View File
@@ -44,7 +44,14 @@ fi
if [ -f "kubeconfig" ]; then if [ -f "kubeconfig" ]; then
export KUBECONFIG="$SCRIPT_DIR/kubeconfig" export KUBECONFIG="$SCRIPT_DIR/kubeconfig"
AUTOSCALER_WORKERS=$(kubectl get nodes -l node.kubernetes.io/instance-type=cax11 \ # Detectar arch dos nodes para filtrar instance type correto
NODE_ARCH=$(kubectl get nodes -o jsonpath='{.items[0].metadata.labels.kubernetes\.io/arch}' 2>/dev/null || echo "arm64")
if [[ "$NODE_ARCH" == "amd64" ]]; then
INSTANCE_PATTERN="cpx"
else
INSTANCE_PATTERN="cax"
fi
AUTOSCALER_WORKERS=$(kubectl get nodes --no-headers 2>/dev/null | grep -i "$INSTANCE_PATTERN" | wc -l | tr -d ' ' || echo "0")
--no-headers 2>/dev/null | wc -l | tr -d ' ' || echo "0") --no-headers 2>/dev/null | wc -l | tr -d ' ' || echo "0")
if [ "$AUTOSCALER_WORKERS" -gt "1" ]; then if [ "$AUTOSCALER_WORKERS" -gt "1" ]; then
+2 -2
View File
@@ -116,8 +116,8 @@ output "connection_instructions" {
https://${local.cluster_endpoint_ip}:6443 https://${local.cluster_endpoint_ip}:6443
4. Nodes: 4. Nodes:
Control Plane: ${local.control_plane_count}x CAX11 (ARM64) Control Plane: ${local.control_plane_count}x ${local.selected_arch.server_type_cp} (${var.arch})
Workers: 1x CAX11 (ARM64) Workers: 1x ${local.selected_arch.server_type_cp} (${var.arch})
${var.enable_loadbalancer ? "Load Balancer: LB11" : "Floating IP: IPv4"} ${var.enable_loadbalancer ? "Load Balancer: LB11" : "Floating IP: IPv4"}
==================================== ====================================
+16 -6
View File
@@ -314,15 +314,25 @@ echo ""
ENABLE_HA_CONFIG=$(grep 'enable_ha' terraform.tfvars 2>/dev/null | grep -o 'true\|false' || echo "true") ENABLE_HA_CONFIG=$(grep 'enable_ha' terraform.tfvars 2>/dev/null | grep -o 'true\|false' || echo "true")
ENABLE_LB_CONFIG=$(grep 'enable_loadbalancer' terraform.tfvars 2>/dev/null | grep -o 'true\|false' || echo "true") ENABLE_LB_CONFIG=$(grep 'enable_loadbalancer' terraform.tfvars 2>/dev/null | grep -o 'true\|false' || echo "true")
if [ "$ENABLE_HA_CONFIG" = "true" ]; then # Custos estimados baseado na arquitetura selecionada
CP_COUNT=3 ARCH_CONFIG=$(grep 'arch' terraform.tfvars 2>/dev/null | grep -o 'arm64\|amd64' || echo "arm64")
echo " - 3x CAX11 Control Planes = 3 x \$4.59 = \$13.77" if [[ "$ARCH_CONFIG" == "amd64" ]]; then
NODE_TYPE="CPX21"
NODE_COST="\$6.99"
else else
CP_COUNT=1 NODE_TYPE="CAX11"
echo " - 1x CAX11 Control Plane = 1 x \$4.59 = \$4.59" NODE_COST="\$4.59"
fi fi
echo " - 1x CAX11 Worker = 1 x \$4.59 = \$4.59" if [ "$ENABLE_HA_CONFIG" = "true" ]; then
CP_COUNT=3
echo " - 3x ${NODE_TYPE} Control Planes = 3 x ${NODE_COST}"
else
CP_COUNT=1
echo " - 1x ${NODE_TYPE} Control Plane = 1 x ${NODE_COST}"
fi
echo " - 1x ${NODE_TYPE} Worker = 1 x ${NODE_COST}"
if [ "$ENABLE_LB_CONFIG" = "true" ]; then if [ "$ENABLE_LB_CONFIG" = "true" ]; then
echo " - 1x Load Balancer LB11 = \$5.99" echo " - 1x Load Balancer LB11 = \$5.99"
+3 -1
View File
@@ -21,7 +21,9 @@ set -euo pipefail
REGISTRY="${REGISTRY:-gitea.kube.quest}" REGISTRY="${REGISTRY:-gitea.kube.quest}"
ORG="bench" ORG="bench"
PLATFORM="linux/arm64" # Hetzner CAX = ARM64 # Detectar arquitetura do cluster automaticamente
NODE_ARCH=$(kubectl get nodes -o jsonpath='{.items[0].metadata.labels.kubernetes\.io/arch}' 2>/dev/null || echo "arm64")
PLATFORM="linux/${NODE_ARCH}"
RED='\033[0;31m' RED='\033[0;31m'
GREEN='\033[0;32m' GREEN='\033[0;32m'
+7 -5
View File
@@ -377,17 +377,19 @@ setup_app_ingress() {
build_and_push_images() { build_and_push_images() {
echo "" echo ""
echo -e "${CYAN}═══════════════════════════════════════════════════════════${NC}" echo -e "${CYAN}═══════════════════════════════════════════════════════════${NC}"
echo -e "${CYAN} Build e Push das Imagens (ARM64)${NC}" # Detectar arquitetura do cluster para build correto
NODE_ARCH=$(kubectl get nodes -o jsonpath='{.items[0].metadata.labels.kubernetes\.io/arch}' 2>/dev/null || echo "arm64")
echo -e "${CYAN} Build e Push das Imagens (${NODE_ARCH})${NC}"
echo -e "${CYAN}═══════════════════════════════════════════════════════════${NC}" echo -e "${CYAN}═══════════════════════════════════════════════════════════${NC}"
local IMAGE_BASE="${REGISTRY_HOST}/${REGISTRY_PROJECT}/app-backend" local IMAGE_BASE="${REGISTRY_HOST}/${REGISTRY_PROJECT}/app-backend"
log_info "Build app-backend:v1 (linux/arm64)..." log_info "Build app-backend:v1 (linux/${NODE_ARCH})..."
docker buildx build --platform linux/arm64 -t "${IMAGE_BASE}:v1" --push "${SCRIPT_DIR}/app-backend/v1" docker buildx build --platform "linux/${NODE_ARCH}" -t "${IMAGE_BASE}:v1" --push "${SCRIPT_DIR}/app-backend/v1"
log_success "app-backend:v1 construída e enviada" log_success "app-backend:v1 construída e enviada"
log_info "Build app-backend:v2 (linux/arm64)..." log_info "Build app-backend:v2 (linux/${NODE_ARCH})..."
docker buildx build --platform linux/arm64 -t "${IMAGE_BASE}:v2" --push "${SCRIPT_DIR}/app-backend/v2" docker buildx build --platform "linux/${NODE_ARCH}" -t "${IMAGE_BASE}:v2" --push "${SCRIPT_DIR}/app-backend/v2"
log_success "app-backend:v2 construída e enviada" log_success "app-backend:v2 construída e enviada"
} }