TIBCO Fulfillment Subscriber Inventory as a Container on Kubernetes

TIBCO Fulfillment Subscriber Inventory can be deployed as a container application. To containerize the application, you must build and run the Docker images using the bundled Dockerfile. Kubernetes is used to deploy TIBCO FSI Inventory and also to orchestrate the containers. The deployment architecture and the detailed instructions are written in Kubernetes context because Kubernetes is used to deploy TIBCO FSI. Deployment uses Kubernetes concepts such as, Deployment, pod, kubctl, kubernetes master, and service. For more information, see Kubernetes documentation.

Building Docker Images

Preparation for the deployment starts with building various Docker images using the Docker files. Download the Docker zip file from the same link where TIBCO FSI product package was downloaded and extract it to a separate directory. The directory contains a subdirectory which contains ready to use Dockerfile and other scripts required to build the images. Following are the sub directories and their purpose:

  • fsibase: This directory contains Dockerfile and Readme to be used to build the base image. This image is mandatory and must be built before building fsi_single_container, fsi_multi_container, or fsi_multi_container_ftl.

    Docker image.

  • fsi_single_container: This directory contains Dockerfile, Readme, and other helper scripts to be used to build a single host, single pod image where database also runs in the same pod.
  • fsi_multi_container: This directory contains Dockerfile, Readme, and helper scripts and a sample deployment json to be used to build a TIBCO FSI server image. This image is for an independent TIBCO FSI application which can be used with a separate Oracle or PostgreSQL database, depending on how the image is built. This image can also be built in a way that it can be used with or without Enterprise Message Service™. Even though the resulting image does not contain any database, it must contain client libraries specific to the database to which the TIBCO FSI server would connect. Therefore you must follow the instructions in the Dockerfile. Follow the same process for with or without Enterprise Message Service™.
  • fsi_multi_container_ftl: This directory contains Dockerfile, Readme, and helper scripts and a sample deployment json to be used to build TIBCO FSI server image. This image is for an independent TIBCO FSI application which can be used with a separate Oracle or PostgreSQL database, depending on how the image is built. This image can also be built in a way that it can be used with or without TIBCO FTL. Even though the resulting image does not contain any database, it must contain client libraries specific to the database to which the TIBCO FSI server would connect. Therefore you must follow the instructions in the Dockerfile. Follow the same process for with or without TIBCO FTL.
  • fsidb: This directory contains Dockerfile, Readme, and helper scripts and a sample deployment json. This image is TIBCO FSI PostgreSQL database.
  • fsidboracle: This directory contains only a sample deployment json which is used to create Kubernetes deployment.
Detailed instructions on how to use the Docker file and build the image are provided in the respective Docker file and the Readme. After creating the Docker files, you must push the Docker images in the Docker registry so that they can be accessed by Kubernetes deployment.
Note: You must select the Docker files based on the type of deployment and combination of database and messaging software being used.
The following topologies are available for deployment:
  • Single Pod Deployment: TIBCO FSI server runs in a single pod. TIBCO FSI app server and PostgreSQL run in one container with disabled notifications.
  • Multi-pod Deployment: TIBCO FSI runs in a cluster mode with high-availability feature. Multiple pods are involved that continue working if a single pod crashes.