MQ

 View Only
  • 1.  Creating NativeHA cluster on local machine using docker-compose.yml

    Posted Wed February 01, 2023 11:39 AM
      |   view attached
    Hi,
    Just for a simple local test, I'm trying to create a NativeHA cluster using docker-compose.yml and the image 'icr.io/ibm-messaging/mq:9.3.1.1-r1'.
    See the attached docker-compose.yml.
    If this would work, I would then add a load balancer like trafik or so.
    But the containers terminate with the message AMQ5708E: Native HA is unavailable.
    What am I missing?
    Thanks for your help
    Christoph


    ------------------------------
    Christoph Kuenzle
    ------------------------------

    Attachment(s)

    zip
    docker-compose.zip   409 B 1 version


  • 2.  RE: Creating NativeHA cluster on local machine using docker-compose.yml

    IBM Champion
    Posted Wed February 01, 2023 07:44 PM

    Hi Christoph,

    If I view the full details of the AMQ5708E message it says:-

    MESSAGE:
    Native HA is unavailable.

    EXPLANATION:
    Native HA is unavailable on this platform.

    ACTION:
    None.

    Which is perhaps not hugely enlightening, but it does remind me that Native HA is something that is only available through Cloud Pack for Integration. You haven't mentioned that in your post. Are you using CP41?

    See Example: Configuring a Native HA queue manager for more details.

    Cheers,
    Morag



    ------------------------------
    Morag Hughson
    MQ Technical Education Specialist
    MQGem Software Limited
    Website: https://www.mqgem.com
    ------------------------------



  • 3.  RE: Creating NativeHA cluster on local machine using docker-compose.yml

    Posted Thu February 02, 2023 06:19 AM
    Hi Morag,

    Thanks for your reply.

    Support for IBM MQ Operator - IBM Documentation states that for version 9.3.0, Native HA is supported outside of the IBM MQ Operator. Native HA is shipped as a core component of IBM MQ, and is therefore supported under the terms of an IBM MQ LTS release.

    So, what exactly is preventing me from running NativeHA in a non-kubernetes and non-openshift, docker only dev environment?
    Is it the image? Or the host os? Or the license?

    And: is NativeHA supported on a standard kubernetes cluster (without CP4I)?

    Thanks,
    Christoph

    ------------------------------
    Christoph Kuenzle
    ------------------------------



  • 4.  RE: Creating NativeHA cluster on local machine using docker-compose.yml

    IBM TechXchange Speaker
    Posted Fri February 03, 2023 05:19 AM
    Edited by David Ware Fri February 03, 2023 06:33 AM

    Hi Christoph,

    Native HA is no longer restricted to only running in OpenShift and the control of the MQ Operator, it is also supported to deploy Native HA queue managers in Kubernetes environments (1.18 or higher). To achieve this we recommend that you follow the sample Helm chart here https://github.com/ibm-messaging/mq-helm. Unlike the MQ Operator, the Helm chart is provided as-is and supported through GitHub and the community.

    For a development environment then you can use the prebuilt IBM MQ Advanced for Developers container image in the IBM container registry, and there are samples within that Helm GitHub repo for doing that in a range of Kubernetes environments. For a production deployments you would need to build you own image (again based on IBM's sample, https://github.com/ibm-messaging/mq-container), using a correctly entitled version of MQ.

    Although there is no need for CP4I or OpenShift as a runtime environment, from an entitlement point of view you do need MQ to be licensed as CP4I, using the MQ Advanced entitlement ratios.

    Thanks

    David



    ------------------------------
    David Ware
    STSM, IBM MQ Chief Architect
    Hursley, UK
    ------------------------------



  • 5.  RE: Creating NativeHA cluster on local machine using docker-compose.yml

    Posted Fri February 03, 2023 07:39 AM
    Hi David,

    Thanks for your reply.

    "... using a correctly entitled version of MQ".
    As far as I understand, the entitlement will be checked using the GitHub - IBM/ibm-licensing-operator: Operator for IBM License Service which according to (some parts of) the documentation also runs in standard Kubernetes.
    Or do we also need to use a special version of the MQ installation?

    Using the mq-helm, I understand I can test the NativeHA setup in a local Minikube.
    So it is not possible to run NativeHA containers outside of Kubernetes? I mean just using plain Docker?

    Thanks,
    Christoph

    ------------------------------
    Christoph Kuenzle
    ------------------------------



  • 6.  RE: Creating NativeHA cluster on local machine using docker-compose.yml

    IBM TechXchange Speaker
    Posted Fri February 03, 2023 10:23 AM

    Hi Christoph,

    You are correct regarding entitlement checking. The important thing is to use the appropriate annotations when building and deploying MQ.

    I'm afraid we do not support Native HA outside of Kubernetes, or provide help in how to deploy it. The Helm+Kubernetes route is the way to go.

    Thanks,
    David



    ------------------------------
    David Ware
    STSM, IBM MQ Chief Architect
    Hursley, UK
    ------------------------------