How to Deploy Bold BI on Oracle Kubernetes Engine with Kong API Gateway
This section guides you through the deployment of Bold BI on Oracle Kubernetes Engine (OKE) with detailed step-by-step instructions. Covering prerequisites, Helm deployment, Kong API Gateway configuration, filesystem volume setup, Helm values crafting, and secure installation with HTTPS protocol.
Prerequisites
The following are the prerequisites to install Bold BI in an OKE cluster:
- Install Helm
- Install kubectl
- Oracle Kubernetes Engine Cluster
- Oracle Filesystem
- Load Balancer Kong API Gateway
Deployment using Helm
-
Create an Oracle Kubernetes Engine (OKE) cluster for Bold BI deployment. Refer to the following documentation for instructions on creating an Oracle Kubernetes Engine (OKE) cluster for Bold BI deployment:
How to Create an Oracle Cluster for Deploying Bold BI
For more detailed instructions on creating a Kubernetes cluster, refer to Oracle’s documentation:
-
Connect to your OKE cluster and install Kong API Gateway by using the below command.
helm repo add kong https://charts.konghq.com helm repo update helm install kong kong/ingress -n kong --create-namespace
For more information about the Kong API Gateway installation, please refer to this link.
-
Domain mapping is mandatory while installing Bold BI using Helm. Obtain the Kong API Gateway external IP address by running the following command and map the IP with the domain name.
kubectl get svc -n kong
-
Create a File System volume by following the link below to store the Bold BI application data and note the File System OCID, Mount Target IP, and Export Path to store the shared folders for application usage.
Creating a File System Mount Target and Export
Note: You need to enable firewall rules and allow ports to access the filesystem from the cluster. Refer to the following documentation to enable access to the cluster from the filesystem: Provisioning PVCs on FSS
-
Download the helm oke-values.yaml file for OKE deployment by running the following command.
curl -o oke-values.yaml https://raw.githubusercontent.com/boldbi/boldbi-kubernetes/main/helm/custom-values/oke-values.yaml
-
Craft the oke-values.yaml file by following the steps:
-
Update the domain name with protocol in the oke-values.yaml file as shown below.
-
Update the volumeHandle value to
<FileSystemOCID>:<MountTargetIP>:<path>
where:
<FileSystemOCID>
is the OCID of the file system defined in the File Storage service.<MountTargetIP>
is the IP address assigned to the mount target.<path>
is the mount path to the file system relative to the mount target IP address, starting with a slash. For example: ocid1.filesystem.oc1.iad.aaaa______j2xw:10.0.0.6:/FileSystem1
-
Update the load balancer type to
kong
in the oke-values.yaml file as shown below.
-
-
Install Bold BI by following the steps below:
-
Install Bold BI Helm chart:
helm repo add boldbi https://boldbi.github.io/boldbi-kubernetes helm repo update
-
Install Bold BI:
helm install boldbi boldbi/boldbi -f oke-values.yaml -n bold-services --create-namespace
-
-
If you are configuring the site with HTTPS protocol, please create a secret with SSL cert and keys using the below command.
kubectl create secret tls bold-tls -n bold-services --key <key-path> --cert <certificate-path>
-
Use the following command to get the pods status.
kubectl get pods -n bold-services
-
Wait until all the pods are running. Then, use the
appBaseUrl
to access the application in your browser. -
Configure the Bold BI On-Premises application startup to use the application.