私有云架构设计
1. 架构概述
本架构设计基于零信任网络理念,结合家庭服务器和云服务器的优势,构建一个安全、高效的私有云环境。通过 EasyTier 实现零信任网络,利用公网 IPv6 实现直连访问,部署 Gitea 代码托管平台实现 CI/CD 自动化。
2. 整体网络拓扑
流量说明:
==①==>公共访问 (博客)<-->双向流 (EasyTier 内网访问)-.②.->P2P 直连 (IPv6)-.④.->中继模式 (P2P 失败时)
3. 服务器架构
3.1 服务器资源
| 服务器 | 角色 | 配置 | IP | 部署服务 |
|---|---|---|---|---|
| 190 服务器 | 云服务器 | 2核 2GB | 111.230.145.190 | 博客、EasyTier 节点、Grafana |
| Dell R730 | 家庭服务器 | 56核 2880v4×2, 32GB, P100 | 192.168.1.25 | PVE 虚拟化主机 |
3.2 虚拟机规划
IP 地址分配:160 = PVE 模板,161-166 = 当前业务服务器
| 主机名 | 中文名 | 类型 | vCPU | 内存 | 数据盘 | 功能 | 内网 IP |
|---|---|---|---|---|---|---|---|
| easytier-gateway | EasyTier 网关 | KVM | 4核 | 2GB | - | 零信任网络代理 | 192.168.1.161 |
| monitor-storage | 监控存储服务器 | KVM | 4核 | 4GB | 200GB | NFS + Prometheus + Grafana | 192.168.1.162 |
| gitea-artifact | 代码仓库服务器 | KVM | 6核 | 6GB | 200GB | Gitea + Harbor | 192.168.1.163 |
| k8s-master | K8s Master 节点 | KVM | 6核 | 4GB | 64GB | Kubernetes 控制平面 | 192.168.1.165 |
| k8s-worker-1 | K8s Worker 节点 | KVM | 8核 | 6GB | 100GB | Kubernetes 工作节点 | 192.168.1.166 |
3.3 服务分层架构
分层优势:
- 安全隔离:EasyTier 网关独立,不受桌面环境影响
- 管理清晰:各层职责明确,便于维护
- 资源独立:桌面波动不影响基础设施服务
- 故障隔离:单层故障不会扩散到其他层
4. 网络架构
4.1 零信任网络
- 默认不信任:默认不信任任何网络和设备
- 身份验证:所有设备必须通过 EasyTier 认证
- 授权访问:基于策略的访问控制
- 加密传输:所有数据传输均加密(WireGuard/QUIC)
4.2 域名架构
公开域名:
hoseahu.cn- 主域名,解析到 190 服务器blog.hoseahu.cn- 博客域名
内部域名(EasyTier 内部 DNS):
git.hoseahu.cn- Gitea 平台ssh.hoseahu.cn- SSH 访问harbor.hoseahu.cn- Harbor 镜像仓库
5. 服务架构
5.1 Gitea 平台
- 技术选型:Gitea + Gitea Actions + Act Runner
- 访问方式:通过 EasyTier 零信任网络访问
- 核心功能:
- 代码仓库管理
- Pull Request 和代码审查
- CI/CD 流水线
5.2 CI/CD 架构
5.3 监控系统
- 数据采集:Prometheus(内网)
- 数据展示:Grafana(内网 + 云服务器)
- 监控对象:
- 服务器资源(CPU、内存、磁盘)
- 服务状态(EasyTier、Gitea、博客)
6. 存储架构
7. 技术栈
| 类别 | 技术 | 版本 | 用途 |
|---|---|---|---|
| 虚拟化 | Proxmox VE | 9.1 | 虚拟机管理 |
| 代码托管 | Gitea | 最新 | Git 服务 |
| CI/CD | Gitea Actions | 最新 | 自动化流水线 |
| Runner | Act Runner | 最新 | 任务执行 |
| 博客 | VitePress | 最新 | 静态网站生成 |
| 零信任网络 | EasyTier | 最新 | 安全访问 |
| 监控 | Prometheus | 最新 | 数据采集 |
| 监控 | Grafana | 最新 | 数据展示 |
| 容器 | Docker | 最新 | 应用容器化 |
8. 实施路径
阶段一:准备阶段
- 确认服务器硬件和网络连接
- 配置网络环境,确保 IPv6 可用
- 安装必要的软件和工具
阶段二:核心服务部署
- 在 190 服务器上部署 EasyTier 公共节点
- 在 Dell R730 上配置 PVE 虚拟机环境
- 部署 EasyTier 网关节点,建立零信任网络
阶段三:Gitea 平台部署
- 创建 Gitea 虚拟机
- 部署 Gitea 服务器(Docker Compose)
- 配置 Gitea Actions
- 部署 Act Runner
阶段四:应用服务部署
- 部署博客服务(VitePress)
- 部署监控系统(Prometheus 和 Grafana)
- 部署 K8s 集群
阶段五:安全配置
- 配置零信任网络访问策略
- 测试 P2P 直连功能
- 验证访问控制
9. 监控与告警
9.1 监控指标
- 基础设施:CPU、内存、磁盘、网络
- 服务状态:EasyTier、Gitea、博客、CI/CD
- 应用性能:响应时间、请求成功率
9.2 告警策略
| 级别 | 说明 | 阈值 |
|---|---|---|
| 紧急 (P0) | 服务不可用 | - |
| 重要 (P1) | 性能严重下降 | CPU > 80% |
| 警告 (P2) | 资源使用率过高 | 内存 > 85% |
10. 风险评估
10.1 潜在风险
- 网络安全风险:公网 IPv6 暴露可能带来安全风险
- 服务可用性风险:家庭网络不稳定可能影响服务可用性
- 性能风险:服务器资源不足可能影响服务性能
10.2 风险缓解措施
- 网络安全:配置防火墙,限制访问,使用零信任网络
- 服务可用性:监控网络状态,配置备用连接
- 性能优化:合理分配资源,优化服务配置