Go to primary content
Oracle® Communications Network Exposure Function (NEF) Cloud Native Installation and Upgrade Guide
Release 1.0
F16986-01
Go To Table Of Contents
Contents

Previous
Previous
Next
Next

Deploying Network Exposure Function

Note:

The Network Exposure Function requires a MySQL database to store the configuration and run time data.

To deploy the NEF:

  1. Download the file, ocnef-pkg-1.0.0.0.0.tgz.
  2. Untar ocnef-pkg-1.0.0.0.0.tgz.
  3. Untar displays the following files:
    ocnef-pkg-1.0.0.0.0.tgz 
    |_ _ _ _ _ _ ocnef-1.0.0.tgz (helm chart) 
    |_ _ _ _ _ _ ocnef-images-1.0.0.tar (docker images) 
    |_ _ _ __ _ Readme.txt (Contains cksum and md5sum of tarballs)
  4. Check the checksums of tarballs mentioned in the Readme.txt file.

  5. After you load the tarballs to docker images, if required, re-tag it according to your specific repository.
    • Run the following command to load ocnef-images-1.0.0.tar to docker and push imported docker images to user docker registry.
      docker load --input /<IMAGE_PATH>/ocnef-images-1.0.0.tar
        
      docker tag ocpcf/nef_asqos:1.0.0 <customer repo>/nef_asqos:1.0.0
      docker push <customer repo>/nef_asqos:1.0.0
        
      * Repeat above tag and push commands for ALL imported docker images as listed in the Table 2-1 

      Note:

      User may need to configure docker certificate to access customer registry via HTTPS. Configure the certificate before executing the docker push command or the command may fail to execute.

      Table 2-1 provides the details of the docker images file name:

      Table 2-1 Docker Images

      Service Name Docker Image Name Service Category
      DB Service db-service Common
      Nrf Client Service nrf_clientservice Common
      CM Service ocpm_cm_service Common
      Performance Monitoring Service perf_info Platform
      Config Server Service ocpm_config_server Common
      Asqos Service nef_asqos NEF
      Nef Me Service nef_me NEF
      Capif Core Service capif_core NEF
      Application Info Service app_info Platform
      Readiness Check readiness-detector Common
      Oracle Linux 7 with JDK11 ocpm_ol7_jdk11 Common

      Table 2-2 provides the information about the modules:

      Table 2-2 Module Descriptions

      Module Name Description
      common Common service module which would be shared by separate NF as supporting service, such as GUI, and API Gateway.
      platform Platform service to provide monitoring services, also shared by separate NF.
      nef Define NEF services.
  6. Execute the following command:

    Note:

    It is mandatory to run the below command under helm chart folder as the last line of the command, ./<HELM_CHART_NAME_WITH_EXTENSION> specifies that helm chart path is current working path. To run the below command in another server, copy the helm chart file to it first.

    helm install --namespace=<NAMESPACE>-nef --name=<NAME>-nef \

    --set global.envMysqlHost=<MYSQL_HOST>,global.envMysqlUser=nefusr,global.envMysqlPassword=nefpasswd \

    --set global.envJaegerAgentHost=<JAEGER_SERVICE>.<JAEGER_SERVICE_NAMESPACE> \

    --set global.envManageNF=NEF,global.envSystemName=NEF,common.configmapApplicationConfig.nrfClientType=NEF \

    --set global.imageTag=<IMAGE_TAG>,global.dockerRegistry=<DOCKER_REGISTRY_ADDRESS> \

    --set platform.enabled=true,pcf.enabled=false,bsf.enabled=false,common.enabled=true,nef.enabled=true \

    --set common.deploymentNrfClientservice.envNamespace=<NAMESPACE>-nef,platform.appinfo.topic=NRF.UDM \

    ./<HELM_CHART_NAME_WITH_EXTENSION>

    Table 2-3 provides details of each variable:

    Table 2-3 Variables Description

    Variable Description Notes
    <NAMESPACE> Deployment NF namespace used by helm command
    <NAME> Deployment NF name used by helm command
    <MYSQL_HOST> MySQL host name or IP address global.envMysqlUser and global.envMysqlPassword variables in above command from database section configured in previous step
    <JAEGER_SERVICE> <JAEGER_SERVICE_NAMESPACE> Both parameters could be found in same Kubernetes cluster Follow the below format:

    Follow the below format:

    <JAEGER_AGENT_SERVICE_NA ME>.<JAEGER_NAMESPACE>

    For example, consider OCCNE. Run the command,

    kubectl get svc -n occne-infra

    to get all services under namespace, occne-infra.

    Consider *-jaeger-agent as jaeger service name, such as occne-tracer-jaegeragent.occne-infra, then the jaeger agent service name under jaeger deployment is occne-tracer-jaeger-agent.

    Example: occne-tracer-jaegeragent.occne-infra

    <IMAGE_TAG> The image tag used in customer docker registry, it is recommend to use same image tag when pull docker image to registry.

    If follow above steps to push docker image to customer docker registry then the <IMAGE_TAG> value should be 1.0.0

    Each service deployment yaml file would use global.imageTag as image tag to fetch relateddocker image per helm chart design. With the release tar file, the global image tag for all services is 1.0.0
    <DOCKER_REGISTRY_ADDRESS> Customer docker registry address If registry has port value, add port. For example, reg-1:5000

    NEF Services deployment service type. Kubernetes provides the following three deployment types.

    Table 2-4 Service Deployment Service Type

    Service Type Description
    ClusterIP

    Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster.

    This is the default ServiceType

    NodePort

    Exposes the service on each Node's IP at a static port (the NodePort).

    A ClusterIP service, to which the NodePort service routes is automatically created. Contact the NodePort service from outside the cluster, by requesting, <NodeIP>:<NodePort>

    Most of the NEF services use NodePort to deploy.

    LoadBalancer

    Exposes the service externally using a cloud provider's load balancer. NodePort and ClusterIP services, to which the external load balancer will route, are automatically created.

    Given latest OCCNE already integrated METALLB, configure IP address to MetalLB on OCCNE.

    Note:

    For user interface page and API gateway service, it is mandatory to use loadBalancer type. Assuming that OCCNE is integrated with MetalLB, configure IP address to MetalLB on OCCNE.