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.
| Software | Version |
|---|---|
| Kubernetes | v1.16.3 |
| HELM | v3.0 |
| 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.
- Provisioning Gateway Software: The Provisioning Gateway
software consists of:
- Provisioning Gateway Helm Chart: reflects the Provisioning Gateway software version. It comes in the form of a zipped tar file.
- Software images of the micro-services: are available
in the form of docker images and/or tar file.
Note:
For more details about Provisioning Gateway software, see Checking the Software Requirements
- Network Access: The Kubernetes cluster hosts must have network access
to:
- Local docker image repository where the Provisioning Gateway images are available.
- Local helm repository where the Provisioning Gateway 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 Provisioning Gateway installation sequence:
- Installation Preparation
- Namespace Creation: Refer to Unified Data Repository
Installation and Upgrade Guide - OCUDR Namespace Creation.
Note:
Modify the namespace as provgw. - 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. - 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. - provgw-custom-values.yaml File Configuration: This includes
repository path, primary and secondary node and Provisioning Gateway details
configuration. Other configurations may change depending on the deployment.
Note:
For more details, you can refer to Customizing Provisioning Gateway. - ProvGateway Deployment and Verification: You can deploy
Provisioning Gateway either with HELM repository or with HELM tar
in Kubernetes cluster. Execute the following command to deploy Provisioning
Gateway:
helm install <helm chart> [--version <ProvGw version>] --name <release> --namespace <k8s namespace> -f <provgw-custom-values-1.7.1.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 Provisioning Gateway. 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.7.1 release onwards, all pod names, service name, deployment name are prepended by this release name.
- <k8s namespace>: is a user defined name used to identify the kubernetes namespace of the Provisioning Gateway. All the Provisioning Gateway micro services are deployed in this kubernetes namespace.
- <provgw-custom-values-1.7.1.yaml>: is the customized provgw-custom-values-1.7.1.yaml file. For more details, refer to Customizing Provisioning Gateway.
After Provisioning Gateway deployment, you need to verify whether all the services and pods are up and running.Note:
If helm3 is used, then execute the following command for installation:helm install -name <release> --namespace <k8s namespace> -f <provgw-custom-values-1.7.1.yaml> <helm chart> [--version <PROVGW version>]
Installation Preparation
In this section, you will learn to prepare for Provisioning Gateway installation.
- Download the Provisioning Gateway package file from Oracle Software
Delivery Cloud (OSDC). Execute the following command to download Provisioning
Gateway package.
<nfname>-pkg-<marketing-release-number>.tgz - Untar the Provisioning Gateway Package File. Execute the following
command to untar Provisioning Gateway Package File.
tar -xvf provgw-pkg-1.7.1.tgzThis command results intoprovgw-pkg-1.7.1directory. The directory consists of following:- ProvGw Docker Images File:
provgw-images-1.7.1.tar - Helm File:
provgw-1.7.1.tgz - Readme txt File: The
Readme.txtcontains cksum and md5sum of tarballs.
- ProvGw Docker Images File:
- Verify the checksums of tarballs. Execute the following command:
cat Readme.txt - Load the image tarballs to docker images. Execute the following
command:
# docker load --input provgw-images-1.7.1.tar - Check if all the images are loaded. Execute the following
command:
docker images | grep provgw - 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/provgw-service:1.7.1 <customer repo>/provgw-service:1.7.1 # docker tag provgw/auditor-service:1.7.1 <customer repo>/auditor-service:1.7.1 # docker tag provgw/ocingress_gateway:1.7.7 <customer repo>/ocingress_gateway:1.7.7 # docker tag provgw/configurationinit:1.2.0 <customer repo>/configurationinit:1.2.0 # docker tag provgw/configurationupdate:1.2.0 <customer repo>/configurationupdate:1.2.0 # docker tag provgw/ocegress_gateway:1.7.7 <customer repo>/ocegress_gateway:1.7.7 - Push the docker images to docker registry. Execute the following
command:
docker push <docker-repo>/<image-name>:<image-tag>Sample Commands:
# docker push <customer repo>/provgw-service:1.7.1 # docker push <customer repo>/auditor-service:1.7.1 # docker push <customer repo>/ocingress_gateway:1.7.7 # docker push <customer repo>/configurationinit:1.2.0 # docker push <customer repo>/configurationupdate:1.2.0 # docker push <customer repo>/ocegress_gateway:1.7.7 - Untar Helm Files. Execute the following command:
tar -xvzf provgw-1.7.1.tgz - Download the Provisioning Gateway Custom Template ZIP file from
OHC. The steps are as follows:
- Go to the URL, docs.oracle.com
- Navigate to Industries->Communications->Cloud Native Core.
- Click the Provisioning Gateway Custom Template link to download the zip file.
- Unzip the template to get
provgw-custom-configtemplates-1.7.1 file that contains the following:
- ProvGW_Dashboard.json: This file is used by grafana.
- provgw-custom-values-1.7.1.yaml: This file is used during installation.
Following are the Provisioning Gateway Images.
| Pod | Image |
|---|---|
| <helm_release_name>-provgw-service | provgw/provgw_service |
| <helm_release_name>-prov-ingressgateway |
provgw/ocingress_gateway provgw/configurationinit provgw/configurationupdate |
| <helm_release_name>-prov-egressgateway |
provgw/ocegress_gateway provgw/configurationinit provgw/configurationupdate |
| <helm_release_name>-auditor-service | provgw/auditor-service |