Skip to content

Latest commit

 

History

History
153 lines (96 loc) · 6.5 KB

amazon-eks.md

File metadata and controls

153 lines (96 loc) · 6.5 KB

Bold BI on Amazon Elastic Kubernetes Service

For fresh installation, continue with the following steps to deploy Bold BI On-Premise in Amazon Elastic Kubernetes Service (Amazon EKS).

  1. Download the following files for Bold BI deployment in Amazon EKS:

  2. Create an Amazon EKS cluster and node group to deploy Bold BI.

    https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html

  3. Connect to your Amazon EKS cluster.

  4. Deploy the EFS CSI Driver to your cluster and create an Amazon Elastic File System (EFS) volume to store the shared folders for application usage by following the below link.

    https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html

  5. Note the File system ID after creating EFS file system. AWS EFS

  6. Open pvclaim_eks.yaml file, downloaded in Step 1. Replace the File system ID noted in above step to the <efs_file_system_id> place in the file. You can also change the storage size in the YAML file.

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-v1.8.2/deploy/static/provider/aws/deploy.yaml
  1. Deploy the Kubernetes Metrics Server to use Horizontal Pod Autoscaler(HPA) feature by following the below link.

    https://docs.aws.amazon.com/eks/latest/userguide/metrics-server.html

  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

kubectl apply -f license-key-secret.yaml

kubectl apply -f db-server-secret.yaml

kubectl apply -f root-user-details.yaml
  1. Run the following command to create the configmap.
kubectl apply -f log4net_config.yaml

kubectl apply -f branding_config.yaml
  1. If you have a DNS to map with the application, you can continue with the following steps, else skip to Step 16.

  2. Open the ingress.yaml file. Uncomment the host value and replace your DNS hostname with example.com and save the file.

  3. If you have the SSL certificate for your DNS and need to configure the site with your SSL certificate, follow the below step or you can skip to Step 18.

  4. 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. Run the following command for applying the Bold BI ingress to get the address of Nginx ingress,
kubectl apply -f ingress.yaml
  1. Now, run the following command to get the ingress address.
kubectl get ingress -n bold-services

Repeat the above command till you get the value in ADDRESS tab. Ingress Address

  1. Note the ingress address and map it with your DNS if you have added the DNS in ingress.yaml file. If you do not have the DNS and want to use the application, then you can use the ingress address.

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

    Ex: http://example.com, https://example.com, http://<ingress_address>

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

    Consent to deploy client libraries

  4. By default all the client libraries will be installed for Bold BI in Kubernetes. Still you can still overwrite them by mentioning the required libraries as comma seperated like below in the environment variable noted from the above link.

Image

  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_eks.yaml
kubectl apply -f deployment.yaml
kubectl apply -f hpa.yaml
kubectl apply -f service.yaml
  1. Wait for some time till the Bold BI On-Premise application deployed to your Amazon EKS cluster.

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

kubectl get pods -n bold-services

Pod status

  1. Wait till you see the applications in running state. Then use your DNS or ingress address you got from Step 19 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