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.13.3 |
HELM | v2.12.3 |
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 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:
- 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 ProvGateway 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 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>
Installation Preparation
In this section, you will learn to prepare for ProvGateway installation.
- 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
- 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.
- ProvGw Docker Images File:
- Verify the checksums of tarballs. Execute the following command:
Readme.txt
- Load the tarballs to docker images. Execute the following
command:
# docker load --input /root/provgw-images-1.6.0.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/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
- Push the docker images to docker registry. Execute the following
command:
docker push <docker-repo>/<image-name>:<image-tag>
- Untar Helm Files. Execute the following command:
tar -xvzf provgw-1.6.0.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 ProvGateway Custom Template link to download the zip file.
- 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 |