#!/bin/bash # K8S 智能诊断平台 - 一键启动脚本 set -e cd "$(dirname "$0")" PORT=${PORT:-8900} echo "=========================================" echo " K8S 智能诊断平台" echo " 端口: $PORT" echo "=========================================" # 检查 kubectl KUBECTL=$(which kubectl 2>/dev/null || echo "$HOME/bin/kubectl") if [ ! -x "$KUBECTL" ]; then echo "⚠️ 未找到 kubectl,请先安装" exit 1 fi echo "✅ kubectl: $KUBECTL" # 检查 kubeconfig if [ -f "$HOME/.kube/config" ]; then echo "✅ kubeconfig: ~/.kube/config" else echo "⚠️ 未找到 ~/.kube/config,诊断将返回空结果" fi # 检查 Python 依赖 if ! python3 -c "import fastapi, uvicorn" 2>/dev/null; then echo "❌ 缺少 Python 依赖,请先运行: ./setup.sh" exit 1 fi # 检查前端构建 if [ ! -f "frontend/dist/index.html" ]; then if command -v npm &>/dev/null; then echo "📦 构建前端..." cd frontend && npm install --include=dev && npm run build && cd .. else echo "❌ 前端未构建且 npm 不可用,请先运行: ./setup.sh" exit 1 fi fi echo "" echo "🚀 启动服务: http://localhost:$PORT" echo "" PORT=$PORT python3 -m uvicorn backend.main:app --host 0.0.0.0 --port "$PORT"