Install Symphony - Kubernetes
Adding Logi Symphony to your environment involves installing, configuring, and licensing the components you'll use as a stand alone or embedded resource. You may need to install multiple components that work together to provide your desired analytics experience, depending on your licensing arrangements.
Prerequisites
- A Kubernetes cluster of appropriate compute availability
- The Helm CLI installed
- Your command line tool, kubectl, is installed and configured to use with your cluster
Kubernetes Cluster Requirements
There are no specific limits in the Helm chart by default, but we suggest the following compute availability on your cluster:
Recommended Compute Availability
- 10 Cores
- 24 Gi Memory
Required for Scheduling by Kubernetes
- 4 Cores
- 16 Gi Memory
Other Requirements
The memory requirements above do not take into account other components that are a part of Logi Symphony. These components are external to Helm chart requirements. Size your environment following the recommendations for each component. These components include:
- PostgreSQL
- RabbitMQ
- NGINX Ingress Controller
Installation Steps
- Step 1: Install a NGINX Ingress Controller
- Step 2: Determine Your URL
- Step 3: Add the Symphony Helm Repository
- Step 4: Create a Symphony values.yaml File
- Step 5: Install Logi Symphony
- Step 6: Get the Pods for Your Namespace
- Step 7: Set the Admin Password for Data Discovery
- Step 8: Apply Licenses
For information about accessing Symphony after it is installed, see Access Symphony.
Step 1: Install a NGINX Ingress Controller
If you haven't installed a NGINX ingress controller, install one using the following commands:
Verify your ingress controller by running the following command to return all services in the namespace:
kubectl get services
If the EXTERNAL-IP is set to a value and not stuck in a pending space, the ingress controller is exposed correctly. You can additionally verify this by visiting the external IP address: you should be served an NGINX 404 page.
logi.symphony.proxy.port
) should not be routed through port 8080. Select an appropriate available alternative port to designate for the service.Step 2: Determine Your URL
You have two options to choose from for your environment's URL:
- Use the EXTERNAL-IP returned in the previous step
- Use the URL from your cluster
Step 3: Add the Symphony Helm Repository
Install the Helm chart with the release name of logisymphony1 on your Kubernetes cluster using default configuration settings. Adjust parameters as needed. See Installation Parameters.
Uninstall the Helm Chart
If you need to uninstall the Helm chart, run this command to remove all Kubernetes components associated with the chart and delete Symphony.
helm delete logisymphony1
Step 4: Create a Symphonyvalues.yaml
File
Use Helm to generate a values.yaml
file:
helm show values insightsoftware/logisymphony
or
helm show values insightsoftware/logisymphony > values.yaml
Next, edit in the Symphony Docker key, an updated Admin user password, and the ingress information.
Enable Features
Enable and disable features as needed:
Update the Admin User Password
Set a strong password: a combination of at least nine characters that includes upper and lower case letters, numbers, and special characters.
Managed Service Values
Set the Managed service values using the managed
section of values.yaml
.
For more information on defining values for the Managed service, see Orchestrating Dundas BI with Kubernetes and Helm charts.
Data DiscoveryDiscovery Service Values
Set the Data Discovery service values using the discovery
section of values.yaml
.
Data Discovery Database
If global.postgresql.enabled
is true
, set the Postgres authentication details in the global.postgresql.auth
section.
If global.postgresql.enabled
is false
, set the database information in the managed
and discovery
sections of the values.yaml
. See the Managed Dashboards and Managed Reports helm readme and the Visual Data Discovery helm readme embedded in their respective helm charts.
The other postgres details are set in the postgresql
section of the values.yaml
as seen in the following example:
Data Discovery CORS Whitelisting
If you're embedding your Visual Data Discovery content, you must add the appropriate domain names to whitelisting for CORS.
RabbitMQ Deployment
By default this helm chart will deploy a RabbitMQ helm chart. The RabbitMQ configuration is passed down to sub charts Visual Data Discovery, and Managed Dashboards and Managed Reports via Environment variables set directly in the values.yaml
:
global.logi.symphony.rabbitmq.enabled
to false
and define the environment variables above to point to your accessible RabbitMQ instance.
values.yaml
are supported.
Configure RabbitMQ
You can initialize RabbitMQ with Exchanges, Bindings, and Queues in two different ways.
Method one (default): Pass the following Environment variable. With this set, RabbitMQ populates with the required exchanges, bindings, and queues during the handledatabase container as part of the Managed Dashboards and Managed Reports start up.
Method two: Pass the configuration information as part of configuration.
Ingress Updates
Modify the ingress section by defining the URL from Step 2, and uncomment any lines until your file matches the commands indicated below.
You must enable sticky sessions for a load balanced implementation of the managed service in Logi Symphony. This example includes annotations to add to enable sticky sessions with a NGINX ingress controller.
SSL Set Up
Use an ingress to enable SSL with the Symphony Helm chart. First create a secret with your certificate information.
kubectl create secret tls exampledomain --key C:\temp\exampledomain.keyfile --cert C:\temp\exampledomain.certfile
Next, apply that secret to the ingress inside the tls.
Step 5: Install Logi Symphony
With the previous steps completed, run the following command:
helm install logisymphony1 insightsoftware/logisymphony -f values.yaml
This installs Symphony. When it starts, proceed to the next step.
Step 6: Get the Pods for Your Namespace
Run this command to return a list of all pods running.
kubectl get pods -A
Step 7: Set the Admin Password for Data Discovery
Visit your site at https://<your-url>/discovery
to set the Admin password for the data discovery module.
After you've set the admin password, log in as the admin with the password you've set at https://<your-url>/discovery
to continue the install and setup process.
Step 8: Apply Licenses
Apply licenses to the Managed Dashboards, Managed Reports, and Visual Data Discovery modules.
Evaluation licenses are included in the Helm chart.
API documentation is provided with your Symphony installation at this link: <symphony-URL>/discovery/swagger-ui.html
.
Installation Parameters
The following table lists the configurable parameters of the Symphony chart and their default values.
Website
Parameter | Default | Description |
---|---|---|
logi.symphony.website.enabled |
|
Enables the Symphony website. |
logi.symphony.website.port |
|
The port in the Symphony website will be run on. |
logi.symphony.website.autoscaling |
|
Parameters for auto scaling the Symphony website. |
logi.symphony.website.replicaCount |
|
The number of Symphony website replicas. This is only used if |
logi.symphony.website.image.override.enabled |
|
The name of the Symphony website image to override. |
logi.symphony.website.service.enabled |
|
Enable the service. |
logi.symphony.website.service.annoations |
|
The annotations for the Symphony website service. |
logi.symphony.website.service.type |
|
The type of service. |
logi.symphony.website.service.sessionAffinity |
|
The sessionAffinity for the service. |
Comments
0 comments
Please sign in to leave a comment.