Files
ljwx-health/monitor-deployment.sh
rootandClaude Sonnet 4.5 00a243580f feat: 配置本地 Docker Registry 并使用 self-hosted runner
## 主要更改

### 本地 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]>
2025-12-16 07:35:51 +01:00

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 ""