## 主要更改 ### 本地 Registry 部署 - 添加 docker-compose 配置部署本地 Docker Registry - Registry 地址: localhost:5000 - 包含 Web UI (localhost:8888) - 认证: admin/admin123 ### Workflow 优化 - 将 build-and-push job 改为使用 self-hosted runner - 使用本地 Registry (localhost:5000) 替代远程 Harbor - 简化镜像推送流程,避免网络超时 - 优先读取 .env.local-registry 配置 ### K8s 配置更新 - 更新 ljwx-boot deployment 镜像地址为本地 Registry - 更新镜像拉取密钥配置 - 支持本地开发和 CI/CD 流程 ### 监控工具 - 添加 monitor-deployment.sh 查看部署状态 - 添加 watch-deployment.sh 实时监控 ## 部署流程 推送代码 → 本地 self-hosted runner 构建 → 推送到本地 Registry → 部署到 K3s 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
68 lines
2.2 KiB
Bash
Executable File
68 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# 监控 ljwx-health 部署状态
|
|
|
|
echo "========================================="
|
|
echo "📊 LJWX Health 部署状态监控"
|
|
echo "========================================="
|
|
echo ""
|
|
|
|
# 设置颜色
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# 检查 namespace
|
|
echo -e "${YELLOW}[1/5] 检查 Namespace...${NC}"
|
|
kubectl get ns ljwx-health -o wide
|
|
echo ""
|
|
|
|
# 检查 Secrets
|
|
echo -e "${YELLOW}[2/5] 检查 Secrets...${NC}"
|
|
kubectl get secrets -n ljwx-health | grep -E "NAME|harbor-secret|ljwx-boot-secret"
|
|
echo ""
|
|
|
|
# 检查 Deployments
|
|
echo -e "${YELLOW}[3/5] 检查 Deployments...${NC}"
|
|
kubectl get deployments -n ljwx-health -o wide
|
|
echo ""
|
|
|
|
# 检查 Pods
|
|
echo -e "${YELLOW}[4/5] 检查 Pods...${NC}"
|
|
kubectl get pods -n ljwx-health -o wide
|
|
echo ""
|
|
|
|
# 检查最近的 Events
|
|
echo -e "${YELLOW}[5/5] 最近的 Events (最后 10 条)...${NC}"
|
|
kubectl get events -n ljwx-health --sort-by='.lastTimestamp' | tail -10
|
|
echo ""
|
|
|
|
# 健康状态摘要
|
|
echo "========================================="
|
|
echo "📈 健康状态摘要"
|
|
echo "========================================="
|
|
|
|
TOTAL_PODS=$(kubectl get pods -n ljwx-health --no-headers 2>/dev/null | wc -l | tr -d ' ')
|
|
RUNNING_PODS=$(kubectl get pods -n ljwx-health --field-selector=status.phase=Running --no-headers 2>/dev/null | wc -l | tr -d ' ')
|
|
READY_PODS=$(kubectl get pods -n ljwx-health -o json 2>/dev/null | jq '[.items[] | select(.status.conditions[] | select(.type=="Ready" and .status=="True"))] | length' 2>/dev/null || echo "0")
|
|
|
|
echo "总 Pods: $TOTAL_PODS"
|
|
echo "运行中: $RUNNING_PODS"
|
|
echo "就绪: $READY_PODS"
|
|
|
|
if [ "$READY_PODS" = "$TOTAL_PODS" ] && [ "$TOTAL_PODS" -gt 0 ]; then
|
|
echo -e "${GREEN}✅ 所有 Pods 已就绪!${NC}"
|
|
else
|
|
echo -e "${YELLOW}⚠️ 部分 Pods 未就绪,请检查详细信息${NC}"
|
|
fi
|
|
|
|
echo ""
|
|
echo "========================================="
|
|
echo "💡 实用命令"
|
|
echo "========================================="
|
|
echo "查看 ljwx-boot 日志: kubectl logs -f deployment/ljwx-boot -n ljwx-health"
|
|
echo "查看 ljwx-bigscreen 日志: kubectl logs -f deployment/ljwx-bigscreen -n ljwx-health"
|
|
echo "查看所有资源: kubectl get all -n ljwx-health"
|
|
echo "重新运行此脚本: ./monitor-deployment.sh"
|
|
echo ""
|