Deploying Containerized Enterprise Message Service

When deploying TIBCO Product and Service Catalog in a container, first build a Docker image of Enterprise Message Service, push the image to the Docker registry and then perform the following steps:

Procedure

  1. Ensure that the following values are entered in the ems-app.json:
    • Kind: Deployment
    • App in matchLabels: fc (this value must be same as the value of the app in selector inems-service.json)
    • Tier in matchLabels: ems (this value must be same as the value of the app in selector ems-service.json)
    • Image: Docker registry url of image with latest tag
    • Name in imagePullSecrets: Name of the registry credentials created to pull the images
    Run the following command to create Enterprise Message Service deployment:
    $ kubectl create -f ems-app.json
  2. Ensure that the following values are entered in the ems-service.json:
    • Kind: Service
    • Type: LoadBalancer
    • Name: tcp
    • Protocol: TCP
    • Port: 7222
    • targetPort: 7222
    Run the following command to create fcdbservice:
    $ kubectl create -f ems-service.json
  3. Extract the createQueue.txt from TIBCO Product and Service Catalog Docker image at the location $MQ_HOME/bin/install.
  4. Run the following command:
    $EMS_HOME\bin\tibemsadmin -server tcp://$EMS_SERVER_NAME:$EMS_SERVER_PORT - user $EMS_USER -password $TPASS -script createQueues.txt.
  5. Extract the createtopic.txt and createtopic.sh from TIBCO Product and Service Catalog Docker image at the location $AC_HOME/bin.
  6. Run createtopic.sh to create channels. Use the following syntax to run the createtopic utility:
    > ./createtopic.sh <EMS_HOME> tcp://<EMS_HOST>:<EMS_PORT> <EMS_USERNAME> <EMS_PASSWORD> <SCRIPT_LOCATION>
    Where, script_location is <AC_HOME>/bin/createtopic.txt . For example,
    > ./createtopic.sh /opt/tibco/ems/8.4 tcp://localhost:7222 admin admin createtopic.txt