Skip to main content

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 TypeSpecificationDescription
CPU4 CoreEnsures basic functionality
Memory8 GBSufficient for basic services
Storage200 GBIncludes system and data storage
Network1 GbpsSupports internal and external communication
Resource TypeSpecificationDescription
CPU8 Core or moreSupports high concurrency and large-scale access
Memory16 GB or moreImproves performance and concurrency handling
Storage1 TB SSD or moreProvides high-speed data read/write
Network10 Gbps or moreSuitable 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

ComponentRequirementDescription
CNI PluginRequiredSupports Calico, Flannel, Cilium, etc.
CSI DriverRequiredFor dynamic volume management
Gateway API ControllerRecommendedSupports gateway API
LoadBalancerRecommended for productionCan 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​

Component NameRecommended VersionDescriptionAuto-Deployment Support
Knative Serving1.16.1+Model service autoscaling✅
Argo Workflowv3.5.12+Model evaluation & image building✅
LeaderWorkSetv0.6.1Multi-node, multi-GPU training✅
Nvidia Device PluginCUDA ≥12.1GPU acceleration support❌

📊 Monitoring & Logging Components​

Component NameRecommended VersionDescriptionAuto-Deployment Support
Prometheus2.47+Metrics collection✅
Grafana10.0+Data visualization✅
Loki2.9+Log collection & analysis✅

💽 Storage Components

Component NameRecommended VersionDescriptionAuto-Deployment Support
MinIORELEASE.2024-08-23T10-08-35ZObject storage✅
PostgreSQL15.0+Relational database✅
Redis7.2+Cache & session storage✅
MongoDB8.0+Logs & event storage✅

🌐 Network Requirements​

🔌 Required Open Ports​

PortProtocolDirectionPurpose
80TCPInboundHTTP access
443TCPInboundHTTPS access
22TCPInboundGit SSH access (optional)
30000–32767TCPInboundNodePort 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​

EnvironmentRequirement
ProductionMust use a valid TLS certificate
TestCan 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.