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
Ingress ControllerRecommendedSupports Nginx or compatible implementations
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.