Prerequisites
🧭 Overview
Before deploying CSGHUB, ensure that your environment meets the following hardware and software requirements.
Properly configuring the runtime environment is the foundation for system stability and high performance.
⚙️ Hardware Requirements
📦 Minimum Configuration (Test / Development Environment)
| Resource Type | Specification | Description |
|---|---|---|
| CPU | 4 Core | Ensures basic functionality |
| Memory | 8 GB | Sufficient for basic services |
| Storage | 200 GB | Includes system and data storage |
| Network | 1 Gbps | Supports internal and external communication |
🚀 Recommended Configuration (Production Environment)
| Resource Type | Specification | Description |
|---|---|---|
| CPU | 8 Core or more | Supports high concurrency and large-scale access |
| Memory | 16 GB or more | Improves performance and concurrency handling |
| Storage | 1 TB SSD or more | Provides high-speed data read/write |
| Network | 10 Gbps or more | Suitable for large file transfers and high traffic |
🧠 Supported CPU Architectures
- ✅ AMD64 / x86-64: Fully supported
- ✅ ARM64: Fully supported
- ⚠️ Other architectures: Not supported
☸️ Kubernetes Requirements
📦 Cluster Version
- Minimum Version: Kubernetes 1.28+
- Recommended Version: Kubernetes 1.29+ or the latest stable version
🔧 Cluster Component Requirements
| Component | Requirement | Description |
|---|---|---|
| CNI Plugin | Required | Supports Calico, Flannel, Cilium, etc. |
| CSI Driver | Required | For dynamic volume management |
| Ingress Controller | Recommended | Supports Nginx or compatible implementations |
| LoadBalancer | Recommended for production | Can use cloud LB or MetalLB |
💾 Persistent Storage Requirements
- Must support Dynamic Provisioning
- At least one StorageClass must exist
- Storage plugin must comply with the CSI standard
- Certain components (e.g., Dataflow, Csgship) require ReadWriteMany (RWX) capable storage, otherwise functionality may be limited
📘 Reference: Kubernetes Storage Configuration Guide
⛵ Helm Requirements
🔢 Version Requirements
- Minimum Version: Helm 3.12+
- Recommended Version: Helm 3.13+ or the latest stable version
🧠 Optional Component Requirements
🤖 AI / ML Related Components
| Component Name | Recommended Version | Description | Auto-Deployment Support |
|---|---|---|---|
| Knative Serving | 1.16.1+ | Model service autoscaling | ✅ |
| Argo Workflow | v3.5.12+ | Model evaluation & image building | ✅ |
| LeaderWorkSet | v0.6.1 | Multi-node, multi-GPU training | ✅ |
| Nvidia Device Plugin | CUDA ≥12.1 | GPU acceleration support | ❌ |
📊 Monitoring & Logging Components
| Component Name | Recommended Version | Description | Auto-Deployment Support |
|---|---|---|---|
| Prometheus | 2.47+ | Metrics collection | ✅ |
| Grafana | 10.0+ | Data visualization | ✅ |
| Loki | 2.9+ | Log collection & analysis | ✅ |
💽 Storage Components
| Component Name | Recommended Version | Description | Auto-Deployment Support |
|---|---|---|---|
| MinIO | RELEASE.2024-08-23T10-08-35Z | Object storage | ✅ |
| PostgreSQL | 15.0+ | Relational database | ✅ |
| Redis | 7.2+ | Cache & session storage | ✅ |
| MongoDB | 8.0+ | Logs & event storage | ✅ |
🌐 Network Requirements
🔌 Required Open Ports
| Port | Protocol | Direction | Purpose |
|---|---|---|---|
| 80 | TCP | Inbound | HTTP access |
| 443 | TCP | Inbound | HTTPS access |
| 22 | TCP | Inbound | Git SSH access (optional) |
| 30000–32767 | TCP | Inbound | NodePort service range |
🌍 Domain Requirements
- Must have a configurable valid domain name
- Must support wildcard DNS (e.g., *.example.com)
- DNS must resolve correctly to cluster entry nodes
🔒 Security Requirements
🧾 Certificate Management
| Environment | Requirement |
|---|---|
| Production | Must use a valid TLS certificate |
| Test | Can use Let’s Encrypt (self-signed not recommended) |
🧑💻 Access Control
- RBAC must be enabled
- Ensure proper ServiceAccount permissions
- Enabling NetworkPolicy for network isolation is recommended
✅ Environment Checklist
Before deployment, run the following commands to verify that your cluster meets the requirements:
# Check Kubernetes version
kubectl version
# Check node status
kubectl get nodes
# Check StorageClass configuration
kubectl get storageclass
# Check Helm version
helm version
If any check fails, please resolve the issues before proceeding with the deployment.