2 Installing Provisioning Gateway

In this chapter, you will learn to install Provisioning Gateway.

Planning Your Installation

In this section, you will learn to plan Provisioning Gateway installation.

Checking the Software Requirements

In this section, you will learn about softwares required to install provisioning gateway.

Before installing Provisioning Gateway, install the following softwares on your system.
Software Version
Kubernetes v1.13.3
HELM v2.12.3
Additional softwares that needs to be deployed as per the requirement of the services are:
Software Chart Version Notes
elasticsearch 1.21.1 Needed for Logging Area
elastic-curator 1.2.1 Needed for Logging Area
elastic-exporter 1.1.2 Needed for Logging Area
logs 2.0.7 Needed for Logging Area
kibana 1.5.2 Needed for Logging Area
grafana 2.2.0 Needed for Metrics Area
prometheus 8.8.0 Needed for Metrics Area
prometheus-node-exporter 1.3.0 Needed for Metrics Area
metallb 0.8.4 Needed for External IP
metrics-server 2.4.0 Needed for Metric Server
tracer 0.8.3 Needed for Tracing Area

Note:

The above softwares are available in the Oracle Communications Cloud Native Environment (OCCNE). If you are deploying Provisioning Gateway in any other environment, then the above softwares must be installed before installing Provisioning Gateway.

To check the installed software items, execute the following command:

helm ls

Some systems may need to use helm command with admin.conf file as follows:

helm --kubeconfig admin.conf

Checking the Environment Setup

In this section, you will learn to setup an environment to install Provisioning Gateway.

Before installing Provisioning Gateway, your system should have the following:
  • Provisioning Gateway Software: The ProvGateway software consists of:
    • ProvGw Helm Chart: It reflects the ProvGateway software version. It comes in the form of a zipped tar file.
    • Software images of the micro-services. The images are available in the form of docker images and/or tar file.

      Note:

      For more details about ProvGateway software, see Checking the Software Requirements
  • Network Access: The Kubernetes cluster hosts must have network access to:
    • Local docker image repository where the ProvGateway images are available.
    • Local helm repository where the ProvGateway helm charts are available.

    Note:

    Execute all the kubectl and helm commands used in this document on a system depending on the infrastructure of the deployment. It may be some client machine like virtual machine, server, local desktop so on).
  • Laptop/Desktop Client Software: A laptop/desktop where the user executes deployment commands should have:
    • Network access to the helm repository and docker image repository
    • Helm repository configured on the client
    • Network access to the Kubernetes cluster
    • Necessary environment settings to run the 'kubectl' commands. The environment should have privileges to create namespace in the Kubernetes cluster.
    • Helm client installed with the 'push' plugin. The environment should be configured so that the 'helm install' command deploys the software in the Kubernetes cluster.

Installation Sequence

In this section, you will learn about ProvGateway installation sequence:

The installation sequence of ProvGateway is as follows:
  1. Installation Preparation
  2. Namespace Creation: Refer to Unified Data Repository Installation and Upgrade Guide - OCUDR Namespace Creation.

    Note:

    Modify the namespace as provgw.
  3. Service Account, Role and RoleBinding Creation: Refer to Unified Data Repository Installation and Upgrade Guide - OCUDR Service Account, Role and RoleBinding Creation.

    Note:

    Use provgw in place of ocudr.
  4. Kubernetes Secret Creation (provgw-ingress-secret) for storing private keys and certificates for https: Refer to Unified Data Repository Installation and Upgrade Guide - Kubernetes Secret Creation: Private Keys and Certificates for IngressGateway.

    Note:

    Use provgw in place of ocudr.
  5. provgw-custom-values.yaml File Configuration: This includes repository path, primary and secondary node and ProvGateway details configuration. Other configurations may change depending on the deployment.

    Note:

    For more details, you can refer to Customizing Provisioning Gateway.
  6. ProvGateway Deployment and Verification: You can deploy ProvGateway either with HELM repository or with HELM tar in Kubernetes cluster. Execute the following command to deploy ProvGateway:

    helm install <helm chart> [--version <ProvGw version>] --name <release> --namespace <k8s namespace> -f <provgw-custom-values-1.6.0.yaml>

    In the above command:
    • <helm chart>: is the name of the chart which is of the form <helm repo>/provgw.
    • <ProvGw version>: is the software version (helm chart version) of the ProvGw. This is optional. If omitted, the default is 'latest' version available in helm repository.
    • <release>: is a user defined name to identify the helm deployment. From 1.6.0 release onwards, all pod names, service name, deployment name are prepended by this release name.
    • <k8s namespace>: is a user defined name to identifying the kubernetes namespace of the ProvGw. All the ProvGw micro services are deployed in this kubernetes namespace.
    • <provgw-custom-values-1.6.0.yaml>: is the customized provgw-custom-values-1.6.0.yaml file. For more details, refer to Customizing Provisioning Gateway.

    Note:

    If helm3 is used, then execute the following command for installation:

    helm install -name <release> --namespace <k8s namespace> -f <provgw-custom-values-1.6.0.yaml> <helm chart>

    After Provgateway deployment, you need to verify whether all the services and pods are up and running.

Installation Preparation

In this section, you will learn to prepare for ProvGateway installation.

Installation Preparation includes downloading the required files and loading the files to the system. The steps are:
  1. Download the ProvGateway package file from Oracle Software Delivery Cloud (OSDC). Execute the following command to download ProvGateway package.

    <nfname>-pkg-<marketing-release-number>.tgz

  2. Untar the ProvGateway Package File. Execute the following command to untar ProvGateway Package File.

    tar -xvf provgw-pkg-1.6.0.tgz

    This command results into provgw-pkg-1.6.0 directory. The directory consists of following:

    • ProvGw Docker Images File: provgw-images-1.6.0.tar
    • Helm File: provgw-1.6.0.tgz
    • Readme txt File: The Readme.txt contains cksum and md5sum of tarballs.
  3. Verify the checksums of tarballs. Execute the following command:

    Readme.txt

  4. Load the tarballs to docker images. Execute the following command:

    # docker load --input /root/provgw-images-1.6.0.tar

  5. Check if all the images are loaded. Execute the following command:

    docker images | grep provgw

  6. Tag the docker images to docker registry. Execute the following command:

    docker tag <image-name>:<image-tag> <docker-repo>/<image-name>:<image-tag>

    Sample Commands:
    # docker tag provgw/prov_gw:1.6.0 <customer repo>/provgw/prov_gw:1.6.0
    # docker tag provgw/ocingress_gateway:1.6.2 <customer repo>/ocingress_gateway:1.6.2
    # docker push <customer repo>/ocingress_gateway:1.6.2
    # docker tag provgw/configurationinit:1.1.1 <customer repo>/configurationinit:1.1.1
    # docker push <customer repo>/configurationinit:1.1.1
    # docker tag provgw/configurationupdate:1.1.1 <customer repo>/configurationupdate:1.1.1
    # docker push <customer repo>/configurationupdate:1.1.1
  7. Push the docker images to docker registry. Execute the following command:

    docker push <docker-repo>/<image-name>:<image-tag>

  8. Untar Helm Files. Execute the following command:

    tar -xvzf provgw-1.6.0.tgz

  9. Download the Provisioning Gateway Custom Template ZIP file from OHC. The steps are as follows:
    1. Go to the URL, docs.oracle.com
    2. Navigate to Industries->Communications->Cloud Native Core.
    3. Click the ProvGateway Custom Template link to download the zip file.
    4. Unzip the template to get provgw-custom-configtemplates-1.6.0.0 file that contains the following:
      • ProvGW_Dashboard.json: This file is used by grafana.
      • prov-gw5g-custom-values-1.6.0.yaml: This file is used during installation.
      • rollback.py
      • upgrade.py
      • rollbackPCFschema_15_3.py
      • UDR_Dashboard.json
      • ProvGw_Dashboard.json

Following are the ProvGateway Images.

Pod Image
<helm_release_name>-prov-gw provgw/prov_gw
<helm_release_name>-ocingress_gateway provgw/ocingress_gateway
provgw/configurationinit
provgw/configurationupdate