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:
+8
-1
@@ -44,7 +44,14 @@ fi
|
||||
if [ -f "kubeconfig" ]; then
|
||||
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")
|
||||
|
||||
if [ "$AUTOSCALER_WORKERS" -gt "1" ]; then
|
||||
|
||||
+2
-2
@@ -116,8 +116,8 @@ output "connection_instructions" {
|
||||
https://${local.cluster_endpoint_ip}:6443
|
||||
|
||||
4. Nodes:
|
||||
Control Plane: ${local.control_plane_count}x CAX11 (ARM64)
|
||||
Workers: 1x CAX11 (ARM64)
|
||||
Control Plane: ${local.control_plane_count}x ${local.selected_arch.server_type_cp} (${var.arch})
|
||||
Workers: 1x ${local.selected_arch.server_type_cp} (${var.arch})
|
||||
${var.enable_loadbalancer ? "Load Balancer: LB11" : "Floating IP: IPv4"}
|
||||
|
||||
====================================
|
||||
|
||||
+16
-6
@@ -314,15 +314,25 @@ echo ""
|
||||
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")
|
||||
|
||||
if [ "$ENABLE_HA_CONFIG" = "true" ]; then
|
||||
CP_COUNT=3
|
||||
echo " - 3x CAX11 Control Planes = 3 x \$4.59 = \$13.77"
|
||||
# Custos estimados baseado na arquitetura selecionada
|
||||
ARCH_CONFIG=$(grep 'arch' terraform.tfvars 2>/dev/null | grep -o 'arm64\|amd64' || echo "arm64")
|
||||
if [[ "$ARCH_CONFIG" == "amd64" ]]; then
|
||||
NODE_TYPE="CPX21"
|
||||
NODE_COST="\$6.99"
|
||||
else
|
||||
CP_COUNT=1
|
||||
echo " - 1x CAX11 Control Plane = 1 x \$4.59 = \$4.59"
|
||||
NODE_TYPE="CAX11"
|
||||
NODE_COST="\$4.59"
|
||||
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
|
||||
echo " - 1x Load Balancer LB11 = \$5.99"
|
||||
|
||||
@@ -21,7 +21,9 @@ set -euo pipefail
|
||||
|
||||
REGISTRY="${REGISTRY:-gitea.kube.quest}"
|
||||
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'
|
||||
GREEN='\033[0;32m'
|
||||
|
||||
+7
-5
@@ -377,17 +377,19 @@ setup_app_ingress() {
|
||||
build_and_push_images() {
|
||||
echo ""
|
||||
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}"
|
||||
|
||||
local IMAGE_BASE="${REGISTRY_HOST}/${REGISTRY_PROJECT}/app-backend"
|
||||
|
||||
log_info "Build app-backend:v1 (linux/arm64)..."
|
||||
docker buildx build --platform linux/arm64 -t "${IMAGE_BASE}:v1" --push "${SCRIPT_DIR}/app-backend/v1"
|
||||
log_info "Build app-backend:v1 (linux/${NODE_ARCH})..."
|
||||
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_info "Build app-backend:v2 (linux/arm64)..."
|
||||
docker buildx build --platform linux/arm64 -t "${IMAGE_BASE}:v2" --push "${SCRIPT_DIR}/app-backend/v2"
|
||||
log_info "Build app-backend:v2 (linux/${NODE_ARCH})..."
|
||||
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"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user