Files
Agentswarm/check_status.sh
2026-06-08 17:32:34 +08:00

110 lines
3.0 KiB
Bash

#!/bin/bash
# K8s 蜂群系统 - 快速状态检查
echo "======================================"
echo " K8s 蜂群系统 - 状态检查"
echo "======================================"
echo ""
# 颜色定义
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 检查 kubectl
if ! command -v kubectl &> /dev/null; then
echo -e "${RED}❌ kubectl 未安装${NC}"
exit 1
fi
# 检查集群连接
echo "1. 检查集群连接..."
if kubectl cluster-info &> /dev/null; then
echo -e "${GREEN}✅ 集群连接正常${NC}"
else
echo -e "${RED}❌ 无法连接到集群${NC}"
exit 1
fi
# 检查命名空间
echo ""
echo "2. 检查命名空间..."
if kubectl get namespace swarm-system &> /dev/null; then
echo -e "${GREEN}✅ swarm-system 命名空间存在${NC}"
else
echo -e "${RED}❌ swarm-system 命名空间不存在${NC}"
exit 1
fi
# 检查 Redis
echo ""
echo "3. 检查 Redis..."
REDIS_STATUS=$(kubectl get pod redis-0 -n swarm-system -o jsonpath='{.status.phase}' 2>/dev/null)
if [ "$REDIS_STATUS" = "Running" ]; then
echo -e "${GREEN}✅ Redis 运行中${NC}"
else
echo -e "${RED}❌ Redis 状态: $REDIS_STATUS${NC}"
fi
# 检查 Orchestrator
echo ""
echo "4. 检查 Orchestrator..."
ORCH_READY=$(kubectl get deployment orchestrator -n swarm-system -o jsonpath='{.status.readyReplicas}' 2>/dev/null)
if [ "$ORCH_READY" = "1" ]; then
echo -e "${GREEN}✅ Orchestrator 运行中${NC}"
else
echo -e "${RED}❌ Orchestrator 未就绪${NC}"
fi
# 获取 Orchestrator 外部 IP
echo ""
echo "5. 获取访问地址..."
EXTERNAL_IP=$(kubectl get svc orchestrator-service -n swarm-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}' 2>/dev/null)
if [ -n "$EXTERNAL_IP" ]; then
echo -e "${GREEN}✅ Orchestrator 地址: http://$EXTERNAL_IP:8000${NC}"
# 测试健康检查
echo ""
echo "6. 测试 API 健康检查..."
if curl -s -f "http://$EXTERNAL_IP:8000/health" > /dev/null 2>&1; then
echo -e "${GREEN}✅ API 健康检查通过${NC}"
# 显示健康状态详情
HEALTH=$(curl -s "http://$EXTERNAL_IP:8000/health")
echo " 详情: $HEALTH"
else
echo -e "${YELLOW}⚠️ API 健康检查失败(可能还在启动中)${NC}"
fi
else
echo -e "${YELLOW}⚠️ 等待 LoadBalancer 分配外部 IP...${NC}"
fi
# 显示所有 Pod
echo ""
echo "7. 所有 Pod 状态:"
echo "-----------------------------------"
kubectl get pods -n swarm-system
# 显示服务
echo ""
echo "8. 服务状态:"
echo "-----------------------------------"
kubectl get svc -n swarm-system
# 总结
echo ""
echo "======================================"
echo " 状态检查完成"
echo "======================================"
echo ""
echo "快速命令:"
echo " 查看日志: kubectl logs -n swarm-system deployment/orchestrator -f"
echo " 查看 Pod: kubectl get pods -n swarm-system"
echo " 运行测试: python3 test_system.py"
echo ""
echo "文档:"
echo " 快速入门: 快速入门指南.md"
echo " 完整文档: 部署和使用文档.md"
echo ""