Skip to content

Latest commit

 

History

History
315 lines (224 loc) · 12.2 KB

how-to-deploy-bold-bi-in-an-ack-cluster.md

File metadata and controls

315 lines (224 loc) · 12.2 KB

Deploying Bold BI in Alibaba Cloud Kubernetes (ACK) Cluster

This section provides instructions on how to deploy Bold BI in an Alibaba Cloud Kubernetes (ACK) cluster. Please follow the documentation below to successfully deploy these applications.

Deployment Methods

There are two ways to deploy Bold BI on the Kubernetes cluster. Please refer to the following documents for Bold BI deployment:

Please click on the respective links to access the detailed documentation for each deployment method.

Deploy Bold BI using Kubectl

The following steps will guide you through the process of deploying Bold BI using Kubectl in an Alibaba Cloud Kubernetes (ACK) cluster.

Deployment prerequisites

The following requirements are necessary to deploy the Bold BI solution using Kubectl:

  • Install Kubectl: Make sure you install kubectl on your local machine to facilitate the deployment process.
  • NAS File System: Set up a NAS file system to store the required data for Bold BI.
  • Create and connect a ACK cluster: Create and connect an ACK cluster in Alibaba Cloud that will host the Bold BI deployment.
  • Load Balancing- Nginx : By default, an Alibaba Cloud Kubernetes (ACK) cluster has Nginx already installed in the kube-system namespace, so there is no need to install it manually. The Nginx Ingress Controller is available and can be utilized to enable load balancing for your Bold BI deployment.

Please ensure that you have fulfilled these prerequisites before proceeding with the deployment.

Steps for Bold BI auto deployment using kubectl.

  1. Download the deployment file from here to deploy Bold BI on AKS.

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

  3. Follow the documentation provided at this link to create a file system in Alibaba Cloud.

  4. Once the file system is created, locate and click on the cube icon. This will allow you to view the mount target hostname. Take note of the mount target hostname, as you will need it for mounting the file system with our application.

    NAS-Mount-Target

  5. Open the ack_deploy.yaml file and replace the <host_name_of_mount_target> placeholder with the actual mount target hostname noted in the previous step.

    PV Claim

  6. If you have a DNS to map with the application, proceed to the next steps, otherwise, skip to Step 10.

  7. In the ack_deploy.yaml file and locate line 2335. Uncomment the host value and replace example.com with your DNS hostname.

    DNS

  8. If you have an SSL certificate for your DNS and need to configure the site, follow next step; otherwise, skip to Step 10.

  9. In the ingress spec of the ack_deploy.yaml file, uncomment the tls section. Replace example.com with your DNS hostname and save the file.

    ingress DNS

  10. After connecting with your cluster, run the following command to retrieve the External IP address:

    kubectl get svc -n kube-system

    Repeat the above command until you find the IP address listed in the EXTERNAL-IP column, as shown in the following image:

    Ingress Address

  11. Note the EXTERNAL-IP address and map it to your DNS if you have added it in the ack_deploy.yaml file. If you do not have a DNS, use the EXTERNAL-IP address to access the application.

  12. Replace <application_base_url> with your DNS or EXTERNAL-IP address.

    Examples: http://example.com, https://example.com, http://<external_ip_address>

    App_Base_Url

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

    Consent to deploy client libraries

  14. By default, all client libraries for Bold BI will be installed in Kubernetes. However, you can overwrite them by specifying the required libraries as a comma-separated list in the environment variable noted from the above link.

    Optinal_Lib

  15. Deploy Bold BI in your Kubernetes cluster by running the following command:

    kubectl apply -f ack_deploy.yaml
  16. Create a TLS secret with your SSL certificate using the following command:

    kubectl create secret tls bold-tls -n bold-services --key <key-path> --cert <certificate-path>
  17. Check the status of the pods by running the following command:

    kubectl get pods -n bold-services

    Pod status

  18. Wait until you see the applications in the running state. Then, use your DNS or EXTERNAL-IP address obtained from the following command to access the application in the browser.

    kubectl get ingress -n bold-services
  19. For more details on configuring the application startup, please refer to the this.

Deploy Bold BI using Helm

The following steps will guide you through the process of deploying Bold BI using Helm in an Alibaba Cloud Kubernetes (ACK) cluster.

Deployment prerequisites

  • Install Helm: Make sure you have Helm installed on your local machine to facilitate the deployment process.
  • NAS File System: Set up a NAS file system to store the required data for Bold BI.
  • Create and connect a ACK cluster: Create and connect an ACK cluster in Alibaba Cloud that will host the Bold BI deployment.
  • Load Balancing- Nginx : By default, an Alibaba Cloud Kubernetes (ACK) cluster has Nginx already installed in the kube-system namespace, so there is no need to manually install it. The Nginx Ingress Controller is available and can be utilized to enable load balancing for your Bold BI deployment.

Note: Obtain the Nginx External IP address by running kubectl get svc -n kube-system and map it with a DNS in order to craft the values.yaml file when installing Bold BI using the Helm chart.

Get Repo Info

  1. Add the Bold BI helm repository.
helm repo add boldbi https://boldbi.github.io/boldbi-kubernetes
helm repo update
  1. View charts in repo.
helm search repo boldbi

NAME            CHART VERSION   APP VERSION     DESCRIPTION
boldbi/boldbi   9.1.73           9.1.73         Embed powerful analytics inside your apps and t...

See helm repo for command documentation.

Create Namespace

Run the following command to create the namespace where the Bold BI resources will be deployed in the Kubernetes cluster. The default namespace is bold-services.

kubectl create ns bold-services

Install Chart

For the Helm chart, you need to craft a values.yaml file. So download the values.yaml file from here and make required changes based on your cluster provider.

The following table allows you to craft the values.yaml file with required values for Bold BI deployment. So please read the description carefully and enter the values in values.yaml file.


Name Description
namespace The namespace in which the Bold BI resources will be deployed in the Kubernetes cluster.
The default namespace is bold-services
appBaseUrl * Domain with http/https protocol.
Ex: `http://example.com`, `https://example.com`
Follow the SSL Configuration to configure SSL certificate for https protocol.
optionalLibs These are the client libraries used in Bold BI by default.
'mongodb,mysql,influxdb,snowflake,oracle,google,clickhouse'
Please refer to Optional Client Libraries section to know more.
clusterProvider The type of kubernetes cluster provider you are using.
The supported values are 'gke,eks,ack and aks,' Please refer to Cluster Provider section to know more.
persistentVolume* This is a file storage information to store the shared folders for application usage. Please refer to this section to know more on how to set Persistant Volumes for Bold BI.
loadBalancer Currently we have provided support for Nginx and Istio as Load Balancers in Bold BI. Please refer to this section for configuring Load balancer for Bold BI.
autoscaling By default autoscaling is enabled in Bold BI. Please refer to this section to know more.
bingMapWidget Please refer to this section to configure Bing Map Widget in Bold BI.
customLocalePath Custom locale file path for Localization. Please refer to this section to configure Custom Locale Path in Bold BI.

Note: Items marked with * are mandatory fields in values.yaml.

Run the following command to delpoy Bold BI in your cluster.

helm install [RELEASE_NAME] boldbi/boldbi -f [Crafted values.yaml file]

Ex: helm install boldbi boldbi/boldbi -f my-values.yaml

See helm install for command documentation.

Access application

  1. Check the status of the pods by running the following command:

    kubectl get pods -n bold-services

    Pod status

  2. Wait until you see the applications in the running state. Then, use your DNS or EXTERNAL-IP address obtained from the following command to access the application in the browser.

    kubectl get ingress -n bold-services
  3. For more details on configuring the application startup, please refer to the this

Upgrade

Run the following command to get the latest version of the Bold BI helm chart.

helm repo update

Run the following command to apply changes in your Bold BI release or upgrade Bold BI to the latest version.

helm upgrade [RELEASE_NAME] boldbi/boldbi -f [Crafted values.yaml file]

Ex: helm upgrade boldbi boldbi/boldbi -f my-values.yaml

Uninstall Chart

helm uninstall [RELEASE_NAME]

Ex: helm uninstall boldbi

This removes all the Kubernetes components associated with the chart and deletes the release.

See helm uninstall for command documentation.

Application Startup

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