Skip to content

Latest commit

 

History

History
127 lines (81 loc) · 5.03 KB

on-premise.md

File metadata and controls

127 lines (81 loc) · 5.03 KB

Bold BI on On-Premise Kubernetes Cluster

For fresh installation, continue with the following steps to deploy Bold BI application in your On-Premise machine kubernetes cluster.

  1. Download the following files for Bold BI deployment in On-Premise:

  2. Create a folder in your machine to store the shared folders for application usage.

    Ex: D://app/shared

  3. Open pvclaim_onpremise.yaml file, downloaded in Step 1. Replace the shared folder path in your host machine to the <local_directory> place in the file. You can also change the storage size in the YAML file.

    Ex: D://app/shared -> /run/desktop/mnt/host/d/app/shared

PV Claim

  1. Deploy the latest Nginx ingress controller to your cluster using the following command.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.41.2/deploy/static/provider/cloud/deploy.yaml
  1. Map the DNS to your machine IP address, in which you want to access the application.

  2. Navigate to the folder where the deployment files were downloaded from Step 1.

  3. Run the following command to create the namespace for deploying Bold BI.

kubectl apply -f namespace.yaml
  1. Run the following command to create the secrets.
kubectl apply -f secrets.yaml
  1. Run the following command to create the configmap.
kubectl apply -f log4net_config.yaml
  1. Open the ingress.yaml file. Uncomment the host value and replace your DNS hostname with example.com and save the file.

  2. If you have the SSL certificate for your DNS and need to configure the site with your SSL certificate, run the following command to create a TLS secret with your SSL certificate.

kubectl create secret tls bold-tls -n bold-services --key <key-path> --cert <certificate-path>
  1. Now, uncomment the tls section and replace your DNS hostname with example.com in ingress spec and save the file.

ingress DNS

  1. Open the deployment.yaml file from the downloaded files in Step 1. Replace your DNS in <application_base_url> place.

    Ex: http://example.com, https://example.com

  2. Read the optional client library license agreement from the following link.

    Consent to deploy client libraries

  3. Note the optional client libraries from the above link as comma separated names and replace it in <comma_separated_library_names> place. Save the file after the required values has been replaced.

deployment.yaml

  1. If you need to use Bing Map widget feature, enter value for widget_bing_map_enable environment variable as true and API key value for widget_bing_map_api_key in the secrets.yaml file downloaded in step 1.

  2. Now, run the following commands one by one:

kubectl apply -f pvclaim_onpremise.yaml
kubectl apply -f deployment.yaml
kubectl apply -f hpa.yaml
kubectl apply -f service.yaml
kubectl apply -f ingress.yaml
  1. Wait for some time till the Bold BI On-Premise application deployed to your On-Premise Kubernetes cluster.

  2. Use the following command to get the pods status.

kubectl get pods -n bold-services

Pod status

  1. After deployment, wait for some time to Horizontal Pod Autoscaler (HPA) gets the metrics from the pods. Use the following command to get HPA status.
kubectl get hpa -n bold-services

If you get <unknown>/80% instead of actual CPU and memory usage of pods, then you do not have any metrics server running inside your cluster. Use the following command to deploy metrics server in your cluster to enable the autoscaling feature by HPA.

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml
  1. Use your DNS hostname to access the application in the browser.

  2. Configure the Bold BI On-Premise application startup to use the application. Please refer the following link for more details on configuring the application startup.

    https://help.boldbi.com/embedded-bi/application-startup