Microservices
Updated On 24 March 2024 | Min(s) read

Deploying Party Microservice on Kubernetes (K8)

This section explains how to deploy the Party Microservice on K8. To do so, you need to perform the following tasks:

Deployment Artefacts

The Party Microservice for K8 deployment is available as a single release bundle. For example, ms-party-package-docker-<release_number>.zip.

Deploying Party Microservice on K8

Prerequisites

Before deploying Party Microservice on K8, ensure to meet the following prerequisites:

  1. Install the Docker engine on your deployment environment. For more information about the installation, click here.
  2. Turn on the Linux containers in Docker.

Enabling Kubernetes:

  1. After the Docker is installed, enable Kubernetes in the Docker Desktop app.

  2. Kubernetes requires a minimum of six CPUs to run smoothly. Go to Docker settings → Resources, and increase the CPU and Memory as shown here.

  3. Install Helm and set the helm path as an environment variable on the system.

Deployment of Party Microservice in Docker

  1. Extract the ms-party-package-docker-<release_number>.zip file.

    The extracted package contains the configuration files. Go to k8/on-premise.

  2. Open the Command Prompt in an On-Premise folder.

    If Strimzi is not installed in the machine, go to the Streams folder and run ./strimzi-install.sh.Repeat this step if the Kubernetes cluster resets.

  3. To check if pods are up and running, execute kubectl get pods -n kafka.

  4. To enable authorization and authentication, follow these steps:
    1. In addition to the API key, enable JWT Authentication in party-configmap.yml.
    2. To enable security policies and access rights to the APIs, perform the XACML configurations in party-configmap.yml.
  5. Below are the list of containers with its CPU memory limit.
    ContainersMemory Limit
    API812M
    Inbox-Outbox812M
    Ingester1G
    MDAL Ingester1G
    Scheduler1G

Deployment of Party Microservice K8 Images

For MongoDB
  1. Party Microservices for K8 deployment is available as single release bundle party-helm-mongo-pack-<release_number>.zip to load the docker images and then deploy the service in Kubernetes cluster for MongoDB. Unzip the party-helm-pack-mongo file, which contains the required images as the tar file.

  2. Navigate to the folder where the service, ingester, and database images are available.

  3. Navigate inside the images folder.

  4. Open a command prompt and load the images on the docker using the command docker load --input <image-name>.
    ...\party-helm-mongo-pack\party\images> docker load --input ms-party-ingester-202201.0.0.tar
    Loaded image: temenos/ms-party-ingester:202201.0.0
    ...\party-helm-mongo-pack\party\images> docker load --input ms-party-dbscripts-202201.0.0.tar
    Loaded image: temenos/ms-party-dbscripts:202201.0.0
    ...\party-helm-mongo-pack\party\images> docker load --input ms-party-service-202201.0.0.tar
    Loaded image: temenos/ms-party-service:202201.0.0
    ...\party-helm-mongo-pack\party\images> docker load --input ms-party-inboxoutbox-202201.0.0.tar
    Loaded image: temenos/ms-party-inboxoutbox:202201.0.0
  5. Once the images are loaded in to the K8, start the mongo scripts by navigating to the party-helm-mongo-pack folder where the bat and sh files are available.

  6. Open the executable file and edit the environment-specific deployment variable with user-defined values if required.

  7. For Nodeport service deployment, append the same environment-specific deployment variable in party-nodeport.yaml.
  8. Once all the configurations are done, start the Microservice by navigating to the folder where the .bat and .sh files are available. Under the party-helm-pack-mongo folder and run below code

    ScriptDescription
    start-party-mongo.bat / start-party-mongo.shThe script deploys the necessary components for a microservice. It includes the deployment of the streaming services to run the Microservice independently.
  9. Use the following commands for the respective platforms.
    1. For Windows:start-party-mongo.bat
    2. For Linux:start-party-mongo.sh
  10. After the Party Microservice is up and running on K8, check the API's in the package.

    The structure of the URL of APIs is as follows.

    • Base Path: http://<IP_ADDRESS>:<PORT>/<context-root>/api/<version>/
    • For example, http://localhost:8000/ms-party-api/api/v3.0.0/
    • The resource path of the endpoint is available in the swagger document of the respective APIs.
    • A sample endpoint of the party could be http://localhost:8000/ms-party-api/api/v3.0.0/party/parties.

    Alternatively, you can obtain the Microservice status through the Health Check API.

  11. After the Party Microservice is up and running on Docker, check the API's in the package. To know more on BackOffice Ingestion configurations, refer to Ingestion.
  12. If DES and Party are running in different machine, update hostAliases with DES IP for Kafka and Schema registry in party-api.yml and party-ingester.yml
  13. Party-api.yml

 

Party-ingester.yml

For PostgreSQL DB
  1. Party Microservices for K8 deployment is available as single release bundle party-helm-mongo-pack-<release_number>.zip to load the docker images and then deploy the service in Kubernetes cluster for PostgreSQL DB. Unzip party-helm-postgresql-pack file .

  2. Navigate to the folder where the service, ingester, and database images are available.

  3. Navigate inside the images folder.

  4. Open a command prompt and load the images on the docker using the command docker load --input <image-name>.
  5. ...\party-helm-postgresql-pack\party\images> docker load --input ms-party-ingester-202201.0.0.tar
    Loaded image: temenos/ms-party-ingester:202201.0.0
    ...\party-helm-postgresql-pack\party\images> docker load --input ms-party-service-202201.0.0.tar
    Loaded image: temenos/ms-party-service:202201.0.0
    ...\party-helm-postgresql-pack\party\images> docker load --input ms-party-inboxoutbox-202201.0.0.tar
    Loaded image: temenos/ms-party-inboxoutbox:202201.0.0
    ...\party-helm-postgresql-pack\party\images> docker load --input ms-party-dbscripts-202201.0.0.tar
    Loaded image: temenos/ms-party-dbscripts:202201.0.0
  6. Once the images are loaded in to the K8, start the postgresql scripts by navigating to the party-helm-postgresql-pack folder where the bat and sh files are available.

  7. Open the executable file and edit the environment-specific deployment variable with user-defined values if required.

  8. For Nodeport service deployment, append the same environment-specific deployment variable in party-nodeport.yaml.
  9. Once all the configurations are done, start the Microservice by navigating to the folder where the .bat and .sh files are available. Under the party-helm-postgresql-pack folder and run below code.

    ScriptDescription
    start-party-postgresql.bat / start-party-postgresql.shThe script deploys the necessary components for a microservice. It includes the deployment of the streaming services to run the Microservice independently.
  10. Use the following commands for the respective platforms.
    1. For Windows:start-party-postgresql.bat
    2. For Linux:start-party-postgresql.sh
  11. After the successful deployment,load the database, collections, and reference data(master data) for the Party Microservice.
  12. After the Party Microservice is up and running in docker, run the following URL to receive the response.

    The structure of the URL of APIs is as follows.

    Base Path: http://<IP_ADDRESS>:<PORT>/<context-root>/api/<version>/

    For example, http://localhost:8000/ms-party-api/api/v3.0.0/

    The resource path of the endpoint is available in the swagger document of the respective APIs.

    A sample endpoint of the party could be http://localhost:8000/ms-party-api/api/v3.0.0/party/parties.

    Alternatively, you can obtain the Microservice status through the Health Check API.

  13. After the Party Microservice is up and running on Docker, check the API's in the package. To know more on BackOffice Ingestion configurations, refer to Ingestion.
  14. If DES and Party are running in different machine, update hostAliases with DES IP for Kafka and Schema registry in party-api.yml and party-ingester.yml
  15. Party-api.yml

     

    Party-ingester.yml

Undeployment

For MongoDB

To stop and delete the existing container, run the following command from the party docker's location.

  • For Windows:stop-party-mongo.bat
  • For Linux:stop-party-mongo.sh

For PostgreSQL DB

To stop and delete the existing container, run the following command from the party docker's location.

  • For Windows:stop-party-postgresql.bat
  • For Linux:stop-party-postgresql.sh

Copyright © 2020- Temenos Headquarters SA

Published on :
Tuesday, September 2, 2025 1:10:21 PM IST