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

CPU & Memory Requirements for 4G components

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