Articles in this section
Category / Section

How to Deploy Bold Reports Using Kong Ingress Controller on Kubernetes

Published:
Updated:

This article guides you through deploying Bold Reports® on a Kubernetes cluster using the Kong API Gateway.

It covers prerequisites, Kong installation, persistent storage configuration, Helm deployment, Helm values customization, and securing the deployment using the HTTPS protocol.

Prerequisites

Ensure the following prerequisites are met before deploying Bold Reports®:

  • A running Kubernetes cluster (AKS / EKS / OKE / On-prem)
  • kubectl installed and configured
  • Helm (v3 or later)
  • Persistent storage (NFS / Cloud File Storage / Azure File / EFS)
  • A domain name mapped to the Kong Load Balancer

Step 1: Install Kong Ingress Controller

Add the Kong Helm repository and install Kong:

helm repo add kong https://charts.konghq.com
helm repo update
helm install kong kong/ingress -n kong --create-namespace 
Verify Kong installation:
kubectl get pods -n kong 

Step 2: Get Kong External IP and Configure Domain Mapping

Retrieve the Kong Load Balancer external IP:

kubectl get svc -n kong 

image.png

Note the EXTERNAL-IP of the kong-proxy service.
Map the obtained external IP address to your domain name using your DNS provider.

Step 3: Configure Persistent Storage for Bold Reports®

Bold Reports® requires shared persistent storage for application data.
Create a Persistent Volume (PV) and Persistent Volume Claim (PVC)

  • Use NFS / Cloud File Storage / Azure File / EFS based on your environment.

Step 4: Download Helm Values File for Kong Deployment

Download the default Helm values file for Bold Reports®:

  • Get the values.yaml file from the Bold Reports repository based on the cloud provider: values.yaml

Step 5: Customize the values.yaml File

  • Edit the downloaded values file:
  • Update Application Base URL
appBaseUrl: https://reports.example.com 
  • Configure Persistent Volume based on the cloud provider.

    image.png

  • Configure Kong as Load Balancer Type
    Update the ingress/load balancer configuration:

loadBalancer:
 type: kong 

image.png

Step 6: Install Bold Reports® Using Helm

Add the Bold Reports Helm repository:

helm repo add boldreports https://boldreports.github.io/boldreports-kubernetes
helm repo update 

Install Bold Reports:

helm install boldreports boldreports/boldreports -f 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 Reports® On-Premises application startup to use the application.

Additional Reference

Bold Reports application Startup Configuration

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied