前置条件
🧭 概述
在部署 CSGHUB 之前,请确保您的环境满足以下软硬件要求。
正确配置运行环境是系统稳定运行与高性能表现的基础。
⚙️ 硬件要求
📦 最低配置(测试 / 开发环境)
| 资源类型 | 规格要求 | 说明 |
|---|---|---|
| CPU | 4 Core | 确保基本功能运行 |
| 内存 | 8 GB | 满足基础服务运行需求 |
| 存储 | 200 GB | 包含系统盘与数据空间 |
| 网络 | 1 Gbps | 支持内部通信与外部访问 |
🚀 推荐配置(生产环境)
| 资源类型 | 规格要求 | 说明 |
|---|---|---|
| CPU | 8 Core 或更多 | 支持高并发与大规模访问 |
| 内存 | 16 GB 或更多 | 提升性能与并发处理能力 |
| 存储 | 1 TB SSD 或更多 | 提供高速数据读写 |
| 网络 | 10 Gbps 或更多 | 适配大文件传输与高流量场景 |
🧠 处理器架构支持
- ✅ AMD64 / x86-64:完全支持
- ✅ ARM64:完全支持
- ⚠️ 其他架构:暂不支持
☸️ Kubernetes 要求
📦 集群版本
- 最低版本:Kubernetes 1.28+
- 推荐版本:Kubernetes 1.29+ 或最新稳定版
🔧 集群组件配置要求
| 组件 | 要求 | 说明 |
|---|---|---|
| CNI 插件 | 必须安装 | 支持 Calico、Flannel、Cilium 等 |
| CSI 驱动 | 必须支持 | 用于动态存储卷管理 |
| Ingress Controller | 推荐安装 | 支持 Nginx 或兼容实现 |
| LoadBalancer | 生产环境推荐 | 可使用云厂商 LB 或 MetalLB |
💾 持久化存储要求
- 必须支持 动态卷供应(Dynamic Provisioning)
- 至少存在一个 StorageClass
- 存储插件需符合 CSI 标准
- 某些组件(如 Dataflow、Csgship)需使用 支持 ReadWriteMany (RWX) 的存储,否则功能受限
📘 参考:Kubernetes 存储配置指南
⛵ Helm 要求
🔢 版本要求
- 最低版本:Helm 3.12+
- 推荐版本:Helm 3.13+ 或最新稳定版
🧠 可选组件要求
🤖 AI / ML 相关组件
| 组件名称 | 推荐版本 | 功能说明 | 自动部署支持 |
|---|---|---|---|
| Knative Serving | 1.16.1+ | 模型服务自动扩缩容 | ✅ |
| Argo Workflow | v3.5.12+ | 模型评测与镜像构建 | ✅ |
| LeaderWorkSet | v0.6.1 | 多机多卡分布式训练 | ✅ |
| Nvidia Device Plugin | CUDA ≥12.1 | GPU 加速支持 | ❌ |
📊 监控与日志组件
| 组件名称 | 推荐版本 | 功能说明 | 自动部署支持 |
|---|---|---|---|
| Prometheus | 2.47+ | 指标监控与采集 | ✅ |
| Grafana | 10.0+ | 数据可视化 | ✅ |
| Loki | 2.9+ | 日志收集与分析 | ✅ |
💽 存储组件
| 组件名称 | 推荐版本 | 功能说明 | 自动部署支持 |
|---|---|---|---|
| MinIO | RELEASE.2024-08-23T10-08-35Z | 对象存储 | ✅ |
| PostgreSQL | 15.0+ | 关系型数据库 | ✅ |
| Redis | 7.2+ | 缓存与会话存储 | ✅ |
| MongoDB | 8.0+ | 日志与事件存储 | ✅ |
🌐 网络要求
🔌 端口开放范围
| 端口 | 协议 | 方向 | 用途 |
|---|---|---|---|
| 80 | TCP | 入站 | HTTP 访问 |
| 443 | TCP | 入站 | HTTPS 访问 |
| 22 | TCP | 入站 | Git SSH 访问(可选) |
| 30000–32767 | TCP | 入站 | NodePort 服务范围 |
🌍 域名要求
- 必须具备可配置的合法域名
- 支持泛域名解析(如
*.example.com) - DNS 必须能正确解析至集群入口节点
🔒 安全要求
🧾 证书管理
| 环境 | 要求 |
|---|---|
| 生产环境 | 必须使用有效 TLS 证书 |
| 测试环境 | 可使用 Let’s Encrypt(自签名证书不推荐) |
🧑💻 访问控制
- 必须启用 RBAC
- 确保正确配置 ServiceAccount 权限
- 建议启用 NetworkPolicy 实现网络隔离
✅ 环境检查清单
在开始部署前,请执行以下命令确认集群环境是否符合要求:
# 检查 Kubernetes 版本
kubectl version
# 检查节点状态
kubectl get nodes
# 检查存储类配置
kubectl get storageclass
# 检查 Helm 版本
helm version
如有任何检查未通过,请先修复对应问题再继续部署。