Skip to content

Commit

Permalink
Merge pull request #21 from ranganathan-arumugam/master
Browse files Browse the repository at this point in the history
Istio File Changes.
  • Loading branch information
Sankaralingam1667 authored Oct 21, 2022
2 parents fdf9cd2 + f241b06 commit 2087175
Show file tree
Hide file tree
Showing 14 changed files with 928 additions and 7 deletions.
28 changes: 21 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
# What is Bold Reports

Bold Reports is a powerful business intelligence reporting software that helps you to get meaningful insights from your business data and make better decisions.

It is an end-to-end solution for creating, managing, and sharing interactive business reports that includes a powerful report designer for composing easily.

With deep embedding, you can interact more with your data and get insights directly from your application.

# Bold Reports on Kubernetes

Bold Reports can be deployed on Kubernetes cluster. You can create Kubernetes cluster on either cloud or on-premise infrastructure. After completing cluster creation, connect to it and you can download the configuration files [here](deploy/). This directory includes configuration YAML files, which contains all the configuration settings needed to deploy Bold Reports on Kubernetes cluster. The following links explain Bold Reports Kubernetes deployment in a specific cloud and on-premise environments.
## Prerequisites

The following requirements are necessary to run the Bold Reports solution.

* Kubernetes cluster
* File storage
* Microsoft SQL Server 2012+ | PostgreSQL | MySQL
* Load balancer: [Nginx](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/) or [Istio](https://istio.io/latest/docs/setup/getting-started/)
* Web Browser: Microsoft Edge, Mozilla Firefox, and Chrome.

* [Google Kubernetes Engine (GKE)](docs/google-gke.md)
* [Amazon Elastic Kubernetes Service (EKS)](docs/amazon-eks.md)
* [Azure Kubernetes Service (AKS)](docs/microsoft-aks.md)
* [On-premise](docs/on-premise.md)
### Deployment Methods

# Upgrade Bold Reports
There are two ways to deploy Bold Reports on the Kubernetes cluster with the two types of load balancer. Please refer to the following documents for Bold Reports deployment:

If you are upgrading Bold Reports to 4.2.52, please follow the steps in this [link](upgrade/4-1_upgrade.md).
* [Deploy Bold Reports using Ingress Nginx](docs/index.md)
* [Deploy Bold Reports using Istio](istio/README.md)
97 changes: 97 additions & 0 deletions deploy/destination_rule.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
namespace: bold-services
name: id-web-rule
spec:
host: id-web-service.bold-services.svc.cluster.local
trafficPolicy:
loadBalancer:
consistentHash:
httpCookie:
name: boldreports.k8s.id.web.pod.id
ttl: 600s
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
namespace: bold-services
name: id-api-rule
spec:
host: id-api-service.bold-services.svc.cluster.local
trafficPolicy:
loadBalancer:
consistentHash:
httpCookie:
name: boldreports.k8s.id.api.pod.id
ttl: 600s
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
namespace: bold-services
name: id-ums-rule
spec:
host: id-ums-service.bold-services.svc.cluster.local
trafficPolicy:
loadBalancer:
consistentHash:
httpCookie:
name: boldreports.k8s.id.ums.pod.id
ttl: 600s
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
namespace: bold-services
name: reports-web-rule
spec:
host: reports-web-service.bold-services.svc.cluster.local
trafficPolicy:
loadBalancer:
consistentHash:
httpCookie:
name: boldreports.k8s.reports.web.pod.id
ttl: 600s
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
namespace: bold-services
name: reports-api-rule
spec:
host: reports-api-service.bold-services.svc.cluster.local
trafficPolicy:
loadBalancer:
consistentHash:
httpCookie:
name: boldreports.k8s.reports.api.pod.id
ttl: 600s
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
namespace: bold-services
name: reports-jobs-rule
spec:
host: reports-jobs-service.bold-services.svc.cluster.local
trafficPolicy:
loadBalancer:
consistentHash:
httpCookie:
name: boldreports.k8s.reports.jobs.pod.id
ttl: 600s
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
namespace: bold-services
name: reports-reportservice-rule
spec:
host: reports-reportservice-service.bold-services.svc.cluster.local
trafficPolicy:
loadBalancer:
consistentHash:
httpCookie:
name: boldreports.k8s.reports.reportservice.pod.id
ttl: 600s
117 changes: 117 additions & 0 deletions deploy/istio_gateway.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
namespace: bold-services
name: boldreports-gateway
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
# tls:
# httpsRedirect: true
hosts:
- "*"
# - example.com
# - port:
# number: 443
# name: https
# protocol: HTTPS
# tls:
# mode: SIMPLE
# credentialName: boldreports-tls
# hosts:
# - example.com
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
namespace: bold-services
name: boldreports-virtual-service
spec:
hosts:
- "*"
# - example.com
gateways:
- boldreports-gateway
http:
- match:
- uri:
prefix: /reporting/reportservice
route:
- destination:
port:
number: 6553
host: reports-reportservice-service.bold-services.svc.cluster.local
retries:
attempts: 3
retryOn: gateway-error,connect-failure,refused-stream
- match:
- uri:
prefix: /reporting/api
route:
- destination:
port:
number: 6551
host: reports-api-service.bold-services.svc.cluster.local
retries:
attempts: 3
retryOn: gateway-error,connect-failure,refused-stream
- match:
- uri:
prefix: /reporting/jobs
route:
- destination:
port:
number: 6552
host: reports-jobs-service.bold-services.svc.cluster.local
retries:
attempts: 3
retryOn: gateway-error,connect-failure,refused-stream
- match:
- uri:
prefix: /reporting
route:
- destination:
port:
number: 6550
host: reports-web-service.bold-services.svc.cluster.local
retries:
attempts: 3
retryOn: gateway-error,connect-failure,refused-stream
- match:
- uri:
prefix: /api
route:
- destination:
port:
number: 6001
host: id-api-service.bold-services.svc.cluster.local
retries:
attempts: 3
retryOn: gateway-error,connect-failure,refused-stream
- match:
- uri:
prefix: /ums
route:
- destination:
port:
number: 6002
host: id-ums-service.bold-services.svc.cluster.local
retries:
attempts: 3
retryOn: gateway-error,connect-failure,refused-stream
- match:
- uri:
prefix: /
route:
- destination:
port:
number: 6000
host: id-web-service.bold-services.svc.cluster.local
retries:
attempts: 3
retryOn: gateway-error,connect-failure,refused-stream
Binary file added docs/images/aks-file-storage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Deployment Prerequisites

* [Install Kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) to deploy Bold Reports using kubectl.
* [File Storage](pre-requisites.md#file-storage)
* [Create and connect a cluster](pre-requisites.md#create-and-connect-a-cluster)
* [Load Balancing](pre-requisites.md#load-balancing)

# Deploy Bold Reports using kubectl

Bold Reports can be deployed manually on Kubernetes cluster. You can create Kubernetes cluster on cloud cluster providers (GKE, AKS, and EKS). After completing cluster creation, connect to it and you can download the configuration files [here](deploy/). This directory includes configuration YAML files, which contains all the configuration settings needed to deploy Bold Reports on Kubernetes cluster. The following links explain Bold Reports Kubernetes deployment in a specific cloud and on-premise environments.

* [Google Kubernetes Engine (GKE)](google-gke.md)
* [Amazon Elastic Kubernetes Service (EKS)](amazon-eks.md)
* [Azure Kubernetes Service (AKS)](microsoft-aks.md)
* [On-premise](on-premise.md)

# Upgrade Bold Reports

If you are upgrading Bold Reports to 4.2.52, please follow the steps in this [link](/upgrade/4-1_upgrade.md).
Loading

0 comments on commit 2087175

Please sign in to comment.