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.
Important: To install Symphony in a Kubernetes environment, you'll need an intermediate level of familiarity and experience with Kubernetes. See https://kubernetes.io/docs/home/.
Important: Download the latest installation package and the complete readme at https://repo-logisymphony.insightsoftware.com/helm-charts/.
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
-
Know your selection of modules you wish to install:
Symphony
Symphony with Simba Intelligence
Symphony with Visual Data Discovery only (available when upgrading from v25.3 and earlier)
Symphony with Managed Dashboards and Reports only (available when upgrading from v25.3 and earlier)
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
12 Core
32 Gi Memory
Required for Scheduling by Kubernetes
6 Core
24 Gi Memory
Important: These specifications are intended as an initial installation guide. Your environment's specific workloads may demand a higher number of cores and more memory available for computing. For information on operating system and environment support, see Operating System Support.
Note: The Self Service Reports microservice is installed by default and requires an additional 6 GB of RAM. You can disable this new microservice using the helm chart when you install or upgrade Symphony.
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
Symphony v25.4 and later uses RabbitMQ StatefulSet
NGINX Ingress Controller
Installation Steps - All Modules
For information about accessing Symphony after it is installed, see Access Symphony and Log Into the Symphony UI .
Step 1: Install a Proxy or Ingress Controller
Install the proxy or ingress controller you want to use to provide flexible control over incoming traffic to your Symphony environment.
One option is to install a NGINX Ingress Controller as in the example provided here.
Note: For other install methods for the ingress controller, see https://bitnami.com/stack/nginx-ingress-controller/helm.
Install a NGINX Ingress Controller
-
Install NGINX using the following commands:
helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm install my-ingress-controller bitnami/nginx-ingress-controller -
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.
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.
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 an updated Admin user password, and the ingress information.
Set the Admin Password and Enable Features
Set a strong password: a combination of at least nine characters that includes upper and lower case letters, numbers, and special characters. Enable and disable features as needed:
Enable the Data Gateways
To enable data gateways, add to the respective modules as needed.
Visual Data Discovery
Managed Dashboards and Reports
Managed Service Values
Set the Managed service values using the managed section of values.yaml.
Data Discovery Service Values
Set the Data Discovery service values using the discovery section of values.yaml.
Java Virtual Machine Options
Important: When configuring Java Virtual Machine (JVM) options for your Visual Data Discovery connectors, ideally do not use the additionalJavaOpts section in the Helm chart, as it sets the _JAVA_OPTIONS environment variable. This global variable is not reliably visible or predictable across environments.
Instead, use one of the following preferred methods to configure JVM options:
The
commandandargssections of the Helm chart to specify JVM parameters directly.The
JAVA_OPTSenvironment variable via theextraEnvsection.The
propertiessection, which is mapped to theConfigMapand can be used to define JVM-related properties in a structured and Kubernetes-native way.
Symphony Databases
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 & 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. Add databases for installed modules as needed.
Note: To add more databases for the Visual Data Discovery service , create them in this section along with the postgres database.
Data Discovery
Include this initdbScript.sql with appropriate OWNER information for the Visual Data Discovery module.
Managed Dashboards and Reports
Include this initdbScript.sql with appropriate OWNER information for the Managed Dashboards and Reports modules.
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 & Reports via Environment variables set directly in the values.yaml:
Important:
RabbitMQ is required. If you prefer to use it outside of the Symphony helm chart, set global.logi.symphony.rabbitmq.enabled to false and define the environment variables above to point to your accessible RabbitMQ instance.
Important:
Currently only the values set by default in 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 & 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.
Alternatively, deploy a redis subchart:
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.
End readme version of instructions
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
Comments
0 comments
Please sign in to leave a comment.