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 22

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

Component Version
admission-webhook v0.72.0
alertmanager v0.27.0
bats v1.4.1
busybox 1.31.1
busybox 1.31.0
coredns v1.10.1
cpa v1.8.8
ceph v1.12.2
ceph v17.2.6
cephcsi v3.9.0
cert-manager-cainjector v1.12.4
cert-manager-controller v1.12.4
cert-manager-ctl v1.12.4
cert-manager-istio-csr v0.5.0
cert-manager-webhook v1.12.4
cni v3.26.4
controller v1.9.4
curl-ssl latest
dns/k8s-dns-node-cache 1.22.28
etcd v3.5.10
fluentd-kubernetes-daemonset v1.16.2-debian-opensearch-1.0
grafana 9.5.3
ingress-nginx/kube-webhook-certgen v20221220-controller-v1.5.1-58-g787ea74b6
jaeger-agent 1.52.0
jaeger-collector 1.52.0
jaeger-query 1.52.0
kube-apiserver v1.28.6
kube-controller-manager v1.28.6
kube-proxy v1.28.6
kube-scheduler v1.28.6
kube-state-metrics v2.10.1
kubectl 1.24
k8s-sidecar 1.26.1
kyverno v1.9.0
kyvernopre v1.9.0
metallb-controller v0.13.11
metallb-speaker v0.13.11
metrics-server v0.6.1
multus-cni v3.8
nginx 1.21.4
nginx 1.25.2-alpine
node-exporter v1.7.0
opensearch v2.3.0
opensearch-dashboards v2.3.0
occne_bastion_controller 24.1.0
pause 3.9
pilot 1.18.2
pod2daemon-flexvol v3.26.4
promxy v0.0.75
prometheus v2.51.1
prometheus-operator v0.72.0
prometheus-config-reloader v0.72.0
proxyv2 1.18.2
snmp-notifier v1.4.0
velero v1.12.0
velero-plugin-for-aws v1.7.1
whereabouts v0.6.2

Note:

The CNE clusters for performance benchmarking were utilized in a shared model. Hence not all components listed here are utlized by NSSF.

2.1.3 System Software

This section describes the system software details.

Table 2-3 System Software

System Software Details
Operating System (+Kernel Version)

v5.0.4-0.20230601165947-6ce0bf390ce3

Oracle Linux Server 9.3 (Plow)

Hypervisor Bare metal Server
CNE 24.1.x
OSO 25.1.1xx
Kubernetes 1.28.x
ASM 1.14.6
Podman 4.6.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:

Here is the table displaying the Resource Profile for CNE:

Table 2-4 CNE Common Applications

Deployment/STS Pod Count CPU Request CPU Limit Memory Request Memory Limit
alertmanager-occne-kube-prom-stack-kube-alertmanager 2 20m 20m 64Mi 64Mi
occne-bastion-controller 1 10m 200m 128Mi 256Mi
occne-kube-prom-stack-grafana 1 500m 500m 512Mi 512Mi
occne-kube-prom-stack-kube-operator 1 100m 200m 100Mi 200Mi
occne-kube-prom-stack-kube-state-metrics 1 20m 60m 32Mi 1Gi
occne-metallb-controller 1 100m 100m 100Mi 100Mi
occne-metrics-server 1 100m 100m 200Mi 200Mi
occne-opensearch-dashboards 1 100m 100m 512Mi 512Mi
occne-promxy 1 100m 100m 512Mi 512Mi
occne-promxy-apigw-nginx 2 1 2 1Gi 1536Mi
occne-tracer-jaeger-collector 1 500m 1250m 512Mi 1Gi
occne-tracer-jaeger-query 1 256m 500m 128Mi 512Mi
opensearch-cluster-data 5 200m 200m 10Gi 10Gi
opensearch-cluster-master 3 1 1 2Gi 2Gi
prometheus-occne-kube-prom-stack-kube-prometheus 2 12 12 55Gi 55Gi

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-5 NSSF Services

Service Name Replicas Min CPU Max CPU Min Memory Max Memory Min Ephemeral Storage Max Ephemeral Storage
<helm-release-name>-alternate-route 1 1 2 2Gi 4Gi 78Mi 1Gi
<helm-release-name>-appinfo 1 200m 200m 1Gi 1Gi 78Mi 1Gi
<helm-release-name>-egress-gateway 2 4 4 4Gi 4Gi 78Mi 1Gi
<helm-release-name>-ingress-gateway 5 6 6 6Gi 6Gi 78Mi 1Gi
<helm-release-name>-nsauditor 1 2 2 1Gi 1Gi 78Mi 1Gi
<helm-release-name>-nsavailability 2 4 4 4Gi 4Gi 78Mi 1Gi
<helm-release-name>-nsconfig 1 2 2 2Gi 2Gi 78Mi 1Gi
<helm-release-name>-nsselection 9 4 4 4Gi 4Gi 78Mi 1Gi
<helm-release-name>-nssubscription 1 2 2 1Gi 1Gi 78Mi 1Gi
<helm-release-name>-<helm-release-name>-nrf-client-nfdiscovery 2 2 2 1Gi 1Gi 78Mi 1Gi
<helm-release-name>-<helm-release-name>-nrf-client-nfmanagement 2 1 1 1Gi 1Gi 78Mi 1Gi
<helm-release-name>-config-server 1 500m 1 1Gi 1Gi 78Mi 1Gi
<helm-release-name>-perf-info 1 2 2 1Gi 1Gi 78Mi 6Gi

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-6 ASM Sidecar

Service Name Replicas Min CPU Max CPU Min Memory Max Memory
<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 4 4 2Gi 2Gi
<helm-release-name>-nssubscription 1 250m 250m 512Mi 512Mi
<helm-release-name>-<helm-release-name>-nrf-client-nfdiscovery 2 250m 250m 512Mi 512Mi
<helm-release-name>-<helm-release-name>-nrf-client-nfmanagement 2 250m 250m 512Mi 512Mi
<helm-release-name>-config-server 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-7 cnDBTier Services

Service Component Replicas Min CPU Max CPU Min Memory Max Memory Request Memory Limit Memory
ndbmysqld mysqlndbcluster 4 8 8 10Gi 10Gi 90Mi 1Gi
ndbmysqld db-infra-monitor-svc 4 100m 100m 256Mi 256Mi 90Mi 1Gi
ndbmtd mysqlndbcluster 4 10 10 18Gi 18Gi 90Mi 1Gi
ndbmtd db-backup-executor-svc 4 1 1 1Gi 1Gi 90Mi 1Gi
ndbmtd db-infra-monitor-svc 4 100m 100m 256Mi 256Mi 90Mi 1Gi
ndbmgmd mysqlndbcluster 2 4 4 10Gi 10Gi 90Mi 1Gi
ndbmgmd db-infra-monitor-svc 2 100m 100m 256Mi 256Mi 90Mi 1Gi
ndbappmysqld mysqlndbcluster 4 8 8 10Gi 10Gi 90Mi 1Gi
mysql-cluster-site1-site3-replication-svc site1-site3-replication-svc 1 1 1 2Gi 2Gi 90Mi 1Gi
mysql-cluster-site1-site2-replication-svc site1-site2-replication-svc 1 2 2 12Gi 12Gi 90Mi 1Gi
mysql-cluster-db-monitor-svc db-monitor-svc 1 4 4 4Gi 4Gi 90Mi 1Gi
mysql-cluster-db-backup-manager-svc db-backup-manager-svc 1 100m 100m 128Mi 128Mi 90Mi 1Gi

cnDBTier with ASM

Table 2-8 cnDBTier with ASM

cnDBTier Pods Replica Min CPU Max CPU Min Memory Max Memory
ndbappmysqld 4 3 3 4Gi 4Gi
ndbmgmd 2 3 3 4Gi 4Gi
ndbmtd 4 4 4 2Gi 2Gi
ndbmysqld 4 3 3 4Gi 4Gi
mysql-cluster-db-backup-manager-svc 1 2 2 1Gi 1Gi
mysql-cluster-db-monitor-svc 1 2 2 1Gi 1Gi
mysql-cluster-site1-site2-replication-svc 1 2 2 1Gi 1Gi
mysql-cluster-site1-site3-replication-svc 1 2 2 1Gi 1Gi