Fase 0: Preparar o ambiente
Antes de tudo, confirmar em qual cluster estamos apontando. Numa rotina de várias demos, apontar para o cluster errado é o erro mais comum - sempre valide.
Selecionar a conta/região da demo. Este é o passo mais importante: a demo inteira roda na conta e região específicas, e o profile default costuma apontar para outra conta - o que causa "template not found" no FIS e "not found" no kubectl. Aponte o profile com acesso ao cluster e ao FIS:
export AWS_PROFILE=devops-saopaulo
aws sts get-caller-identity --query Account --output text # confirme a conta da demoListar os contextos do kubeconfig:
kubectl config get-contextsGarantir/renovar o contexto do cluster da demo (define o contexto ativo):
aws eks update-kubeconfig --name llm-vmware-hybrid --region sa-east-1Confirmar o contexto atual antes de seguir:
kubectl config current-contextExportar o ID do template do FIS para a sessão (auto-resolve - sobrevive a mudança de ID). A Fase 3 usa esta variável:
export FIS_TEMPLATE_ID=$(aws fis list-experiment-templates --region sa-east-1 \
--query "experimentTemplates[?contains(description,'on-premises')].id | [0]" --output text)
echo "FIS_TEMPLATE_ID=$FIS_TEMPLATE_ID"| Recurso | Endereço | Uso |
|---|---|---|
| App via ALB (região AWS) | kubectl get ingress demo-ingress -n demo-resilience -o jsonpath='{.status.loadBalancer.ingress[0].hostname}' | Ingress region-originated - cai no disconnect |
| App via VIP on-prem (MetalLB) | http://192.168.3.240/ | Entrada local - sobrevive ao disconnect |
| Grafana on-prem | http://192.168.3.242/ | Dashboard de saúde dos nodes + conectividade com a nuvem (anônimo) |
| SSH Node 1 / Node 2 | ssh -i ~/.ssh/id_ecdsa lopbruno@192.168.3.51 / ...52 | Comandos no node (crictl, iptables) |
| Cluster EKS | aws eks update-kubeconfig --name llm-vmware-hybrid --region sa-east-1 | kubectl |