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_PASSWORD \
The 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-platform
Helm chart. For example:helm upgrade --install spotfire-platform \ oci://oci.spotfire.com/charts/spotfire-platform \ --version "1.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.com \
Note: Setting
postgresql.enabled=true
will 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.acceptEUA
value is set totrue
to accept the Cloud Software Group, Inc. End User Agreement ⧉. - The
global.spotfire.image.registry
value is set to the Spotfire OCI registry. - The
global.spotfire.image.pullSecrets
value is set to the pull secret created in step 3. - By default, the
spotfire-platform
chart deploys only thespotfire-server
. You can enable the deployment of other Spotfire services as needed. - Important: The
postgresql.enabled
value is set totrue
to 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.