4G Deployment Guide¶
Deployment Overview¶
SD-Core is released with Helm charts and container images. We recommend using Kubernetes and Helm to deploy SD-Core. All SD-Core container images are hosted on Docker Hub.
Hardware Resource Requirements¶
SD-Core Component |
Required CPU |
Required Memory in Gi |
|---|---|---|
MME |
2 CPU Cores |
2Gi |
SPGW |
2 CPU Cores |
5Gi |
PCRF |
2 CPU Cores |
1Gi |
HSS |
2 CPU Cores |
1Gi |
Config4G |
1 CPU Cores |
1Gi |
SimApp |
1 CPU Cores |
1Gi |
Cassandra |
2 CPU Cores |
4Gi |
Note
SD-Core deployment is tested on Intel/AMD hardware. There is WIP to run SD-Core on ARM architecture.
Deployment Options¶
Development Environments¶
For setting up a 4G development environment, please refer to the Aether In a Box - 4G (Aether-in-a-Box guide).
Production Environments - 4G¶
To install SD-Core into your Kubernetes cluster, follow these steps:
Step 1: Clone SD-Core 4G Helm Chart¶
Clone the repository and update dependencies:
git clone https://github.com/omec-project/sdcore-helm-charts.git
cd sdcore-helm-charts/sdcore-helm-charts/
helm dep update # Update Helm dependencies
Step 2: Prepare Your Helm Values for 4G¶
While you can modify the existing values.yaml directly, we recommend creating a
separate values file (e.g., myvalues.yaml) using values.yaml as a template.
This approach makes it easier to track your customizations and upgrade in the future.
For detailed explanations of the supported Helm values, refer to the Configuration section below.
Step 3: Install 4G Using SD-Core Umbrella Helm Chart¶
The following command deploys the SD-Core Helm chart with release name sdcore-4g
in the sdcore-4g namespace:
helm install -n sdcore-4g --create-namespace -f myvalues.yaml sdcore-4g \
./sdcore-helm-charts
Note
Adjust the chart path (./sdcore-helm-charts) to match your local directory structure where you cloned the sdcore-helm-charts repository.
Verify the Installation
Check the Helm release status:
helm -n sdcore-4g ls
Uninstall SD-Core
To uninstall the SD-Core deployment:
helm -n sdcore-4g uninstall sdcore-4g
kubectl delete namespace sdcore-4g # Optional: remove the namespace