2 Deployment Environment

This section provides information about the cloud native platform requirements for deploying Oracle Communications Cloud Native Core, Network Slice Selection Function (NSSF).

Note:

The performance and capacity of the NSSF system may vary based on the call model, Feature or Interface configuration, and underlying CNE and hardware environment.

2.1 Deployed Components

This section provides details about the deployed components.

2.1.1 Hardware Details

This section describes the hardware details.

Table 2-1 CNE Cluster Details

Nodes Server Model Count
Master Nodes ORACLE SERVER X8-2 3
Worker Nodes ORACLE SERVER X8-2 19

Note:

The CNE clusters for performance benchmarking were utilized in a shared model.

2.1.2 Observability Services

This section describes the required observability services.

Table 2-2 Observability Services

Software Chart Version
OpenSearch 2.3.0
Kyverno 1.9.0
FluentBit 1.9.4
Jaeger 1.45.0
Oracle OpenSearch Dashboard 2.3.0
Elastic-curator 5.5.4
Elastic-exporter 1.1.0
Elastic-master 7.9.3
Logs 3.1.0
Grafana 9.5.3
Prometheus 2.44.0
Prometheus-kube-state-metrics 2.5.0
Prometheus-node-exporter 1.3.1
MetalLB 0.13.11
Metrics-server 0.6.0
Tracer 1.22.0

2.1.3 System Software

This section describes the system software details.

Table 2-3 System Software

System Software Details
Operating System (+Kernel Version)

5.4.17-2136.307.3.1.el8uek.x86_64

Oracle Linux Server 8.7

Hypervisor Bare metal Server
CNE 23.4.x
OSO 23.4.x
Kubernetes 1.27.x
ASM 1.14.6
Podman 4.4.1

2.2 Resource Profile

This section describes the resource profile for common applications, NSSF microservices, and cnDBTier.

2.2.1 CNE Common Applications

The CPU and RAM resources that each common service provided by CNE consumes are constrained, so that they do not consume excess resources that could be used by applications. Each service is given an initial CPU and RAM allocation when it is deployed and is allowed to grow to a specified upper limit of each resource while it continues to run. For services where little growth is expected, or where increasing the CPU/RAM underneath a running application might cause an unacceptable service disruption, the initial allocation and upper limit are set to the same value. The resource requests and limits are given below:

Container Name Replica Avg CPU Memory Per Pod
Min Max Min Max
alertmanager 2 40m 40m 64Mi 64Mi
config-reloader 4 800m 800m 50Mi 50Mi
bastion-controller 1 10m 10m 128Mi 256Mi
fluent-bit 22 2200m 2200m 1Gi 1Gi
grafana-sc-dashboard 2 1000m 1000m 512Mi 512Mi
grafana 1 500m 500m 512Mi 512Mi
kube-prometheus-stack 1 100m 100m 100Mi 200Mi
kube-state-metrics 1 20m 20m 32Mi 100Mi
node-exporter 25 20000m 20000m 512Mi 512Mi
controller 1 100m 100m 100Mi 100Mi
speaker 21 2100m 2100m 100Mi 100Mi
metrics-server 1 100m 100m 200Mi 200Mi
opensearch 9 9 9 2Gi 2Gi
dashboards 1 100m 100m 512Mi 512Mi
promxy 1 100m 100m 512Mi 512Mi
nginx 2 2 2 1Gi 1536Mi
snmp-notifier 1 100m 100m 128Mi 128Mi
occne-tracer-jaeger-agent 22 5632m 5632m 128Mi 512Mi
occne-tracer-jaeger-collector 1 500m 500m 512Mi 1Gi
prometheus 2 12 12 55Mi 55Mi

Note:

The overall common services resource usage varies on each worker node. The common services listed above are distributed evenly across all worker nodes in the CNE Kubernetes cluster.

2.2.2 Application Microservices

Resource needs to be adjusted or tuned as per the performance or the ongoing benchmark testing.

This section lists the resource requirements to install and run NSSF.

NSSF Services

The following table lists resource requirement for NSSF Services:

Table 2-4 NSSF Services

Service Replica CPU Per pod Memory per pod
Min Max Min Max
<helm-release-name>-alternate-route 1 1 2 2Gi 4Gi
<helm-release-name>-appinfo 1 200m 200m 1Gi 1Gi
<helm-release-name>-config-server 1 500m 1 1Gi 1Gi
<helm-release-name>-egress-gateway 2 4 4 4Gi 4Gi
<helm-release-name>-ingress-gateway 5 6 6 6Gi 6Gi
<helm-release-name>-nrf-client-nfdiscovery 2 2 2 1Gi 1Gi
<helm-release-name>-nrf-client-nfmanagement 2 1 1 1Gi 1Gi
<helm-release-name>-nsauditor 1 500m 2 512Mi 1Gi
<helm-release-name>-nsavailability 2 4 4 4Gi 4Gi
<helm-release-name>-nsconfig 1 2 2 2Gi 2Gi
<helm-release-name>-nsselection 6 6 6 6Gi 6Gi
<helm-release-name>-nssubscription 1 2 2 1Gi 1Gi
<helm-release-name>-perf-info 1 2 2 1Gi 1Gi

ASM Sidecar

NSSF leverages the Platform Service Mesh (for example, Aspen Service Mesh) for all internal and external TLS communication. If ASM Sidecar injection is enabled during NSSF deployment or upgrade, this container is injected to each NSSF pod (or selected pod, depending on the option chosen during deployment or upgrade). These containers stay till pod or deployment exist. For more information about installing ASM, see Configuring NSSF to support Aspen Service Mesh in Oracle Communications Cloud Native Core, Network Slice Selection Function Installation, Upgrade, and Fault Recovery Guide.

Table 2-5 ASM Sidecar

Pod Name Pod Count CPU Memory
Min Max Min Max
<helm-release-name>-alternate-route 1 250m 250m 512Mi 512Mi
<helm-release-name>-appinfo 1 250m 250m 512Mi 512Mi
<helm-release-name>-egress-gateway 2 250m 250m 512Mi 512Mi
<helm-release-name>-ingress-gateway 5 3 3 512Mi 512Mi
<helm-release-name>-nsauditor 1 250m 250m 512Mi 512Mi
<helm-release-name>-nsavailability 2 250m 250m 512Mi 512Mi
<helm-release-name>-nsconfig 1 250m 250m 512Mi 512Mi
<helm-release-name>-nsselection 6 2 2 512Mi 512Mi
<helm-release-name>-nssubscription 1 250m 250m 512Mi 512Mi
<helm-release-name>-ocnssf-nrf-client-nfdiscovery 2 250m 250m 512Mi 512Mi
<helm-release-name>-ocnssf-nrf-client-nfmanagement 2 250m 250m 512Mi 512Mi
<helm-release-name>-nsconfig 1 250m 250m 512Mi 512Mi
<helm-release-name>-perf-info 1 250m 250m 512Mi 512Mi

Note:

<helm-release-name> is the Helm release name. For example, if Helm release name is "ocnssf", then nsselection microservice name will be "ocnssf-nsselection".

2.2.3 cnDBTier Resource Profile

The following table describes resources required by cnDBTier pods to perform NSSF benchmark tests.

cnDBTier Services

Table 2-6 cnDBTier Services

cnDBTier Pods Replica vCPU Memory Ephemeral Storage
Min Max Min MI Min (Mi) Max (Gi)
ndbmysqld 2 8 8 10Gi 10Gi 90 1
ndbappmysqld 4 8 8 10Gi 10Gi 90 1
ndbmgmd 2 4 4 10Gi 10Gi NA NA
ndbmtd 4 10 10 18Gi 18Gi 90 1
db-backup-manager-svc 1 0.1 0.1 128Mi 128Mi NA NA
db-replication-svc 1 2 2 12Gi 12Gi 90 1
db-monitor-svc 1 1 1 1Gi 1Gi NA NA

cnDBTier Sidecar and PVC Resources

Table 2-7 cnDBTier Sidecar and PVC Resources

cnDBTier Pods DBTier Sidecar PVC Ephemeral Storage
vCPU Ram Count Storage Min (Mi) Max (Gi)
ndbmysqld 0.1 256Mi 1 100Gi 90 1
ndbappmysqld 0.1 256Mi 1 20Gi 90 1
ndbmgmd 0.1 256Mi 1 15Gi NA NA
ndbmtd 0.1 128Mi 2 60Gi 90 1
db-backup-manager-svc NA NA NA NA NA NA
db-replication-svc 0.2 500Mi 1 8Gi 90 1
db-monitor-svc NA NA NA NA NA NA