#!/bin/bash echo "==========================================" echo "🔍 KUBERNETES DEPLOYMENT STATUS" echo "==========================================" echo "" echo "📦 1. PODS STATUS (All Namespaces)" echo "-----------------------------------" kubectl get pods -A -o wide echo "" echo "📦 2. NATS-BACKEND NAMESPACE - PODS" echo "-----------------------------------" kubectl get pods -n nats-backend -o wide echo "" echo "🌐 3. SERVICES & LOAD BALANCER" echo "-----------------------------------" kubectl get svc -n nats-backend -o wide echo "" echo "⚖️ 4. LOAD BALANCER DETAILS" echo "-----------------------------------" kubectl get svc fastapi-lb -n nats-backend -o yaml | grep -A 10 "spec:" echo "" echo "🚀 5. K3S KUBERNETES LOAD BALANCER PODS (klipper-lb)" echo "-----------------------------------" kubectl get pods -n kube-system -l "svccontroller.k3s.cattle.io/svcname=fastapi-lb" -o wide echo "" echo "📊 6. DEPLOYMENTS & REPLICAS" echo "-----------------------------------" kubectl get deployments -n nats-backend -o wide echo "" echo "📈 7. HORIZONTAL POD AUTOSCALER (HPA)" echo "-----------------------------------" kubectl get hpa -n nats-backend echo "" echo "🔗 8. ENDPOINTS (Service Backends)" echo "-----------------------------------" kubectl get endpoints -n nats-backend echo "" echo "🌍 9. INGRESS/GATEWAY STATUS" echo "-----------------------------------" kubectl get gateway -A 2>/dev/null || echo "No Gateway API resources found" kubectl get ingress -A 2>/dev/null || echo "No Ingress resources found" echo "" echo "📋 10. RECENT EVENTS (Last 20)" echo "-----------------------------------" kubectl get events -n nats-backend --sort-by='.lastTimestamp' | tail -20 echo "" echo "💾 11. RESOURCE USAGE (CPU/Memory)" echo "-----------------------------------" kubectl top pods -n nats-backend 2>/dev/null || echo "Metrics server not available" kubectl top nodes 2>/dev/null || echo "Metrics server not available" echo "" echo "🔍 12. FASTAPI POD LOGS (Last 30 lines)" echo "-----------------------------------" kubectl logs -n nats-backend -l app=fastapi-backend --tail=30 2>/dev/null || echo "No FastAPI pods found" echo "" echo "🔍 13. WORKER POD LOGS (Last 30 lines)" echo "-----------------------------------" kubectl logs -n nats-backend -l app=nats-worker --tail=30 2>/dev/null || echo "No worker pods found" echo "" echo "🌐 14. NETWORK FLOW CHECK" echo "-----------------------------------" echo "Load Balancer External IP/Port:" kubectl get svc fastapi-lb -n nats-backend -o jsonpath='{.status.loadBalancer.ingress[0].ip}:{.spec.ports[0].port}' 2>/dev/null || echo "Checking NodePort..." kubectl get svc fastapi-lb -n nats-backend -o jsonpath='NodePort: {.spec.ports[0].nodePort}' 2>/dev/null echo "" echo "FastAPI Service ClusterIP:" kubectl get svc fastapi-backend -n nats-backend -o jsonpath='{.spec.clusterIP}:{.spec.ports[0].port}' 2>/dev/null echo "" echo "✅ 15. HEALTH CHECK" echo "-----------------------------------" kubectl run health-check --rm -i --restart=Never --image=curlimages/curl -- curl -s http://fastapi-backend.nats-backend:8000/health 2>/dev/null || echo "Health check failed" echo "" echo "==========================================" echo "✅ Status Check Complete!" echo "=========================================="