3 Preparing Your Offline Mediation Controller Cloud Native Environment

You prepare your system for the Oracle Communications Offline Mediation Controller cloud native deployment by installing all prerequisite software and downloading the Offline Mediation Controller Helm charts and images.

Tasks for Preparing Your Offline Mediation Controller Cloud Native Environment

To prepare your system for the Offline Mediation Controller cloud native deployment:

  1. If you want to integrate Offline Mediation Controller with Elastic Charging Engine (ECE) and the Billing and Revenue Management (BRM) cloud native deployment package, set up the ECE and BRM cloud native deployment prior to setting up Offline Mediation Controller. See BRM Cloud Native Deployment Guide.

  2. Set up your Offline Mediation Controller environment by installing and configuring all prerequisite software. See "Setting Up Your Environment".

  3. Download the Helm charts for the Offline Mediation Controller cloud native deployment. See "Downloading Packages for the Offline Mediation Controller Cloud Native Helm Charts".

  4. Download the Offline Mediation Controller cloud native images in one of these ways:

Setting Up Your Environment

Set up your environment with the following technologies installed, configured, and tuned for performance, networking, security, and high availability. Make sure backup nodes are available in case of system failure in any of the cluster's active nodes.

  • Podman: The Podman tool is used to containerize Offline Mediation Controller products.

    For more information, see the Podman documentation (https://docs.podman.io/en/latest/index.html).

  • Kubernetes: Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications. It groups containers into logical units for easy management and discovery. When you deploy Kubernetes, you get a physical cluster with machines called nodes. A reliable cluster must have multiple worker nodes spread over separate physical infrastructures, and a very reliable cluster must have multiple primary nodes spread over different physical infrastructures.

    Set up a Kubernetes cluster for your BRM cloud native deployment, securing access to the cluster and its objects with the help of service accounts and proper authentication and authorization modules. Also, set up the following in your cluster:

    • Volumes: A container’s file system lives only as long as the container does. When a container terminates and restarts, file system changes are also lost. You shouldn't access the container file system or pods frequently, and sharing data between container and host systems is not easy. Volumes appear as a directory in the container file system and provide a way to share data. The Offline Mediation Controller cloud native deployment package uses persistent volumes for sharing data in and out of containers but doesn't enforce any particular type. You can choose from the volume type options available in Kubernetes.

      You can choose an external incubator to create persistent volumes, but ensure it supports the ReadWriteMany access mode and PVC sharing between pods.

    • A networking model: Kubernetes assumes that pods can communicate with other pods, regardless of which host they land on. Every pod has a different IP address, so you don't need to explicitly create a link between pods. You rarely need to deal with mapping container ports to host ports. While Kubernetes doesn't offer a solution to support its assumption, several implementations meet the fundamental requirements of Kubernetes’ networking model. Choose the networking element depending on the cluster requirement.

    For more information about Kubernetes, see Kubernetes Concepts (https://kubernetes.io/docs/concepts/).

    Note:

    Secure your cluster according to standard DevOps practices.
  • Fluentd: Fluentd forms your logging layer, collecting log files from your Offline Mediation Controller service pods and transforming them. The Fluentd-concat plugin is used to concatenate multiline log files. You set up Fluentd on your Kubernetes nodes. Configure all applications to redirect their logs to STDOUT so Fluentd can parse your log files.

    For more information about Fluentd, see Fluentd Overview (https://docs.fluentd.org/quickstart).

  • Helm: Helm is a package manager that helps you install and maintain software on a Kubernetes system. In Helm, a package is called a chart, which consists of YAML files and templates rendered into Kubernetes manifest files. The BRM cloud native deployment package includes Helm charts that help create Kubernetes objects, such as ConfigMaps, Secrets, controller sets, and pods, with a single command.

    For more information about Helm, see Helm Introduction to Helm (https://helm.sh/docs/using_helm/).

  • Oracle Database: An Oracle database must be installed and accessible through the Kubernetes network so that the pods can perform database operations. It can be either a CDB or a non-CDB.

For the complete list of software compatible with the Offline Mediation Controller cloud native deployment package, see "Offline Mediation Controller Cloud Native Deployment Software Compatibility" in Offline Mediation Controller Compatibility Matrix.

Downloading Packages for the Offline Mediation Controller Cloud Native Helm Charts

To download the Offline Mediation Controller cloud native Helm charts:

  1. Go to https://edelivery.oracle.com.

  2. Sign in to the Oracle Software Delivery website using an Oracle account.

  3. Search for and select Oracle Communications Offline Mediation Controller Cloud Native Deployment Option 15.0.0.x.0 and then click Continue.

  4. Make sure all packages are selected, and then click Continue.

  5. Accept the Oracle standard terms and restrictions, and then click Continue.

  6. Select the Oracle Communications Offline Mediation Controller Cloud Native Deployment Option Helm Chart 15.0.0.x.0 package and then click Download.

    The package is downloaded to a Zip file.

  7. Extract the Offline Mediation Controller Helm chart archive file (oc-cn-ocomc-15.0.0.x.0.tgz) from the Zip file.

  8. Extract the Helm chart from the archive file by running this command:

    tar xvzf oc-cn-ocomc-15.0.0.x.0.tgz

    The oc-cn-ocomc directory is extracted from the archive file.

Pulling Offline Mediation Controller Images from the Oracle Container Registry

To pull Offline Mediation Controller cloud native images from the Oracle Container Registry, do the following:

  1. In a web browser, go to https://container-registry.oracle.com.

  2. Sign in to the Oracle Container Registry using an Oracle account.

    Note:

    To pull images for licensed software on the Oracle Container Registry, you must have an Oracle account. You can create an Oracle account at https://profile.oracle.com/myprofile/account/create-account.jspx.

  3. Select the Oracle Communications Cloud Scale Monetization container.

    The Oracle Communications Cloud Scale Monetization page appears.

  4. Click one of the following repository names:

    • oc-cn-ocomc: Offline Mediation Controller image

    • oc-cn-ocomc-rsm: Offline Mediation Controller REST Services Manager image

    The repository page appears.

  5. Accept the Oracle terms and restrictions by:

    1. For non-CPU repositories, selecting your desired language.

    2. Clicking Continue.

    3. Scrolling to the bottom of the terms and restrictions page, and clicking Accept.

    If successful, you will see something similar to this:



  6. On your host system, log in to the Oracle Container Registry using the Podman command-line interface (CLI):

    podman login container-registry.oracle.com
  7. When prompted for a user name and password, enter your Oracle credentials.

  8. Pull the Offline Mediation Controller cloud native image from the registry:

    podman pull container-registry.oracle.com/communications_monetization/imageName:tag

    where:

    • imageName is the name of the software image: oc-cn-ocomc or oc-cn-ocomc-rsm.

    • tag is the tag name for the image, such as 15.0.0.x.0.

    For example, to pull the Offline Mediation Controller cloud native image from the registry:

    podman pull container-registry.oracle.com/communications_monetization/oc-cn-ocomc:15.0.0.x.0

    The image is pulled from the Oracle Container Registry and stored locally, where it is ready to be used to deploy containers.

  9. Confirm the images were pulled from the Oracle Container Registry:

    podman images

    If successful, you will see something similar to this:

    REPOSITORY                                                                  TAG            IMAGE ID        CREATED       
    container-registry.oracle.com/communications_monetization/oc-cn-ocomc       15.0.0.x.0     133dd3580b87    2 seconds ago
    container-registry.oracle.com/communications_monetization/oc-cn-ocomc-rsm   15.0.0.x.0     136dd3593b47    3 seconds ago
  10. Log out of the registry to prevent unauthorized access and to remove any record of sign-in credentials that Podman might store for future operations:

    podman logout container-registry.oracle.com

Downloading Offline Mediation Controller Images from Oracle Software Delivery Website

To download Offline Mediation Controller cloud native images from the Oracle Software Delivery website:

  1. Go to https://edelivery.oracle.com.

  2. Sign in to the Oracle Software Delivery website using an Oracle account.

  3. Search for and select Oracle Communications Offline Mediation Controller Cloud Native Deployment Option 15.0.0.x.0.

  4. Download Zip files for the following:

    • Oracle Communications Offline Mediation Controller Cloud Native Deployment Option REST Services Manager 15.0.0.x.0

    • Oracle Communications Offline Mediation Controller Cloud Native Deployment Option 15.0.0.x.0

  5. From the Zip files, extract the following archive files:

    • Offline Mediation Controller image (oc-cn-ocomc-15.0.0.x.0.tar)

    • Offline Mediation Controller REST Services Manager image (oc-cn-ocomc-rsm-15.0.0.x.0.tar)

  6. Load the files as images into your Podman system using the following command:

    podman load --input fileName

    where fileName is oc-cn-ocomc-15.0.0.x.0.tar or oc-cn-ocomc-rsm-15.0.0.x.0.tar.

If you use an internal registry to access images from different Kubernetes nodes, push the images from your local system to the registry server. For example, if the registry is identified by RepoHost:RepoPort, you would push the Offline Mediation Controller REST Services Manager image to the registry using the Podman CLI like this:

  1. Tag the Offline Mediation Controller REST Services Manager image with the registry server:

    podman tag ocomc-rsm:15.0.0.x.0 RepoHost:RepoPort/oc-cn-ocomc-rsm:15.0.0.x.0
  2. Push the image to the registry server:

    podman push RepoHost:RepoPort/oc-cn-ocomc-rsm:15.0.0.x.0