Go to primary content
Oracle® Communications Binding Support Function Cloud Native Installation and Upgrade Guide
Release 1.0
F16985-01
Go To Table Of Contents
Contents

Previous
Previous
Next
Next

Deploying Binding Support Function

Note:

The Binding Support Function requires a MySQL database to store the configuration and run time data.

To deploy BSF:

  1. Download the file, ocbsf-pkg-1.0.0.0.0.tgz.
  2. Untar ocbsf-pkg-1.0.0.0.0.tgz.
  3. Untar displays the following files:
    ocbsf-pkg-1.0.0.0.0.tgz
               |_ _ _ _ _ _ ocbsf-1.0.0.tgz (helm chart to be used in step 4)
               |_ _ _ _ _ _ ocbsf-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. Run the following command to load ocbsf-images-1.0.0.tar to docker and push imported docker images to user docker registry.

    docker load --input /<IMAGE_PATH>/ocbsf-images-1.0.0.tar
      
    docker tag ocpcf/bsf_management_service:1.0.0 <customer repo>/bsf_management_service:1.0.0
    docker push <customer repo>/bsf_management_service: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 details of docker images file names.

    Table 2-1 Docket Images Name

    S.No Service Name Docket Image Name Service Category
    1 DB Service db-service Common
    2 Nrf Client Service nrf_clientservice Common
    3 CM Service ocpm_cm_service Common
    4 Performance Monitoring Service perf_info Platform
    5 Config Server Service ocpm_config_server Common
    6 BSF Service bsf_management_service BSF
    7 Diameter Gateway diam-gateway BSF
    8 Diameter Connector diam-connector BSF
    9 Application Info Service app_info Platform
    10 Readiness Check readiness-detector Common
    11 Oracle Linux 7 with JDK11 ocpm_ol7_jdk11

    Table 2-2 provides 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, API Gateway
    platform Platform service to provide monitoring services, also shared by separate NF
    bsf Define Binding Support Function services
  6. Navigate to helm chart and 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>-bsf-1 --name=<NAME>-bsf-1 \

    --set global.envMysqlHost=<MYSQL_HOST>,global.envMysqlUser=bsfusr,global.envMysqlPassword=bsfpasswd \

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

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

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

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

    --set common.deploymentNrfClientservice.envNamespace=$<NAMESPACE>-bsf-1 \

    ./<HELM_CHART_NAME_WITH_EXTENSION>

    Table 2-3 provides the details of the variables

    Table 2-3 Variable Names

    Variable Name Description Remarks
    <NAMESPACE> Deployment NF namespace used by helm command Allowed maximum character length is 10. Variable can contain upper case, and lower case alphabets, numbers, and special characters, _, -.
    <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:

    <JAEGER_AGENT_SERVICE_NAME>.<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-jaeger-agent.occne-infra, then the jaeger agent service name under jaeger deployment is occne-tracer-jaeger-agent.

    Example: occne-tracer-jaeger-agent.occne-infra
    <IMAGE_TAG> The image tag used in customer docker registry. It is recommended to use same image tag when pull docker image to registry. If follow ed 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 related docker 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

    Table 2-4 provides Service Deployment Service Type.

    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 PCF 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.