How to deploy a non-matching release of Spotfire Server in Kubernetes using the Spotfire Cloud Deployment Kit (CDK)

How to deploy a non-matching release of Spotfire Server in Kubernetes using the Spotfire Cloud Deployment Kit (CDK)

book

Article ID: KB0070423

calendar_today

Updated On:

Products Versions
Spotfire Server 12.0 and later

Description

Spotfire Cloud Deployment Kit (CDK) releases are configured to work with specific dot-zero releases of Spotfire Server out-of-the-box. For example, you can deploy Spotfire Server v12.5.0 using CDK v1.5.0 without having to make any changes to the CDK installation. 

However in some cases, you may want to deploy a non-dot-zero release using the CDK. This requires some manual changes to the CDK installation and deployment procedure. As described in the below example, we will use the Spotfire CDK v1.5.0 to deploy a slightly older version of Spotfire Server (v12.0.5).

Resolution

In this case, we want to deploy Spotfire Server 12.0.5 in Kubernetes using the Spotfire CDK. In general, it is recommended to start with the newest version of the CDK that is compatible with the same major release of Spotfire Server that needs to be deployed. Here, the major version of Spotfire Server is v12. So if we navigate to the CDK's Releases page, we can see that CDK v1.5.0 is the newest CDK release that supports Spotfire Server version 12.

cdk-releases

After placing your Spotfire Server installation kits in ~/spotfire-cloud-deployment-kit/containers/downloads/, open ~/spotfire-cloud-deployment-kit/versions.mk in a text editor. The file looks like this:
 
 CLOUD_DEPLOYMENT_KIT_VERSION=1.5.0 SPOTFIRE_DEPLOYMENT_VERSION=12.5.0 SPOTFIRE_NETCORE_LANGUAGEPACKS_VERSION=12.5.0 SPOTFIRE_NETCORE_VERSION=12.5.0 SPOTFIRE_NODEMANAGER_VERSION=12.5.0 SPOTFIRE_PYTHONSERVICE_VERSION=1.16.0 SPOTFIRE_RSERVICE_VERSION=1.16.0 SPOTFIRE_SERVER_VERSION=12.5.0 SPOTFIRE_TERRSERVICE_VERSION=1.16.0

Here, we need to update these versions with the correct values:
 
 CLOUD_DEPLOYMENT_KIT_VERSION=1.5.0 SPOTFIRE_DEPLOYMENT_VERSION=12.0.0 SPOTFIRE_NETCORE_LANGUAGEPACKS_VERSION=12.0.0 SPOTFIRE_NETCORE_VERSION=12.0.0 SPOTFIRE_NODEMANAGER_VERSION=12.0.5 SPOTFIRE_PYTHONSERVICE_VERSION=1.12.5 SPOTFIRE_SERVER_VERSION=12.0.5 SPOTFIRE_TERRSERVICE_VERSION=1.12.5

Note that the SPOTFIRE_RSERVICE_VERSION has been removed, because the R-service is not supported in Spotfire Server v12.0.5. You may need to perform this step for other non-supported services, depending on the specific version of Spotfire Server you want to deploy.

Now edit ~/spotfire-cloud-deployment-kit/containers/Makefile, and inspect the IMAGES list:
 
 IMAGES = spotfire-server spotfire-config spotfire-node-manager spotfire-base spotfire-workerhost spotfire-webplayer spotfire-automationservices                 spotfire-terrservice spotfire-pythonservice spotfire-rservice spotfire-deployment

Again, we'll need to remove spotfire-rservice from this list, since it is not supported in our desired Spotfire Server version. The resulting change would look like this:
 
 IMAGES = spotfire-server spotfire-config spotfire-node-manager spotfire-base spotfire-workerhost spotfire-webplayer spotfire-automationservices                 spotfire-terrservice spotfire-pythonservice spotfire-deployment

Next, navigate to ~/spotfire-cloud-deployment-kit/helm/, and perform a search for the expected AppVersion for this CDK release (again, that is 12.5.0, as shown in the above screen capture).
 
 $ cd ~/spotfire-cloud-deployment-kit/helm/ $ grep -ir --include *.yaml "12.5" charts/spotfire-automationservices/Chart.yaml:appVersion: "12.5.0" charts/spotfire-automationservices/values.yaml:  tag: "12.5.0-1.5.0" charts/spotfire-server/Chart.yaml:appVersion: "12.5.0" charts/spotfire-server/values.yaml:  tag: "12.5.0-1.5.0" charts/spotfire-server/values.yaml:    tag: "12.5.0-1.5.0" charts/spotfire-server/values.yaml:    tag: "12.5.0-1.5.0" charts/spotfire-server/values.yaml:        tag: "12.5.0-1.5.0" charts/spotfire-webplayer/Chart.yaml:appVersion: "12.5.0" charts/spotfire-webplayer/values.yaml:  tag: "12.5.0-1.5.0" 

We will need to manually update each *.yaml file to replace v12.5.0  with the correct version. These *.yaml files will contain tags in the format: "12.5.0-1.5.0". You will need to change these to either "12.0.0-1.5.0" or "12.0.5-1.5.0", depending on the particular component in question. For example, the spotfire-deployment version is 12.0.0, but the spotfire-server version is 12.0.5.

Next, build the charts by running 'make' from ~/spotfire-cloud-deployment-kit/helm/.

You should now be able to deploy Spotfire Server 12.0.5 with Spotfire CDK 1.5.0, according to the CDK documentation.
 

Issue/Introduction

This article describes the steps needed to deploy a non-matching release of Spotfire Server in Kubernetes using the Spotfire Cloud Deployment Kit. It uses the example of deploying Spotfire Server v12.0.5 using CDK v1.5.0.