Deploying Spotfire on Kubernetes
This guide provides step-by-step instructions for deploying Spotfire on a Kubernetes cluster using container images and Helm charts from the Spotfire container registry.
The Spotfire OCI registry is an OCI (Open Container Initiative) ⧉ compliant registry. To know how to use the Spotfire OCI registry and get access credentials, see using the Spotfire OCI registry.
By the end of this guide, you will have a functional Spotfire environment running in your Kubernetes cluster. You will deploy the spotfire-platform Helm chart, an umbrella chart that includes all other Spotfire charts/components. From this chart, Spotfire services can be optionally enabled or disabled as needed.
There are also specific quick-start guides for various cloud platforms to help you get started with any of those platforms:
Prerequisites
- Valid credentials to access the Spotfire OCI registry.
- A working Kubernetes cluster from a certified K8s distribution ⧉ (version >= 1.24.0-0).
kubectl⧉ installed and configured.Helm 3+⧉ installed.
Deploying Spotfire in a Kubernetes cluster
To deploy Spotfire in a Kubernetes cluster, follow these steps in a terminal:
-
Set your Spotfire OCI registry credentials:
-
Create a namespace for your deployment:
-
Create a pull secret for the Spotfire container registry:
kubectl create secret docker-registry spotfire-registry-secret \ --namespace spotfire \ --docker-server=oci.spotfire.com \ --docker-username=$REGISTRY_USERNAME \ --docker-password=$REGISTRY_PASSWORDThe secret allows the Kubernetes cluster to pull Spotfire container images from the Spotfire OCI registry.
-
Log in to the Spotfire Helm charts registry:
This step is necessary to access the Spotfire Helm charts in the Spotfire OCI registry.
-
Deploy the Spotfire Platform using the
spotfire-platformHelm chart. For example:helm upgrade --install spotfire-platform \ oci://oci.spotfire.com/charts/spotfire-platform \ --version "2.0.0" \ --namespace spotfire \ --set global.spotfire.acceptEUA=true \ --set global.spotfire.image.registry=oci.spotfire.com \ --set global.spotfire.image.pullSecrets[0]="spotfire-registry-secret" \ --set postgresql.enabled=true \ --set spotfire-webplayer.enabled=false \ --set spotfire-automationservices.enabled=false \ --set spotfire-pythonservice.enabled=false \ --set spotfire-rservice.enabled=false \ --set spotfire-terrservice.enabled=false \ --set spotfire-server.configuration.site.publicAddress=http://spotfire.example.comNote: Setting
postgresql.enabled=truewill enable the embedded PostgreSQL database, which is intended for testing and demo purposes only. For production, use a dedicated database.
Points to note:
- Ensure you are installing a recent version of the chart by checking the Spotfire OCI registry or the Spotfire Cloud Deployment Kit releases page ⧉.
- The
global.spotfire.acceptEUAvalue is set totrueto accept the Cloud Software Group, Inc. End User Agreement ⧉. - The
global.spotfire.image.registryvalue is set to the Spotfire OCI registry. - The
global.spotfire.image.pullSecretsvalue is set to the pull secret created in step 3. - By default, the
spotfire-platformchart deploys only thespotfire-server. You can enable the deployment of other Spotfire services as needed. - Important: The
postgresql.enabledvalue is set totrueto use the included PostgreSQL Helm chart for testing purposes. For production, use a dedicated database server, or make sure you understand how to configure a containerized PostgreSQL deployment for production.
For more configuration details, refer to the Spotfire charts documentation.