Native HA is IBM MQ’s cloud-native high availability story: queue managers packaged for containers, lifecycle managed by operators, storage and networking declared in YAML instead of hand-edited fstab entries on two Linux VMs. Teams moving messaging to Kubernetes or Red Hat OpenShift do not want 1990s runbooks for strmqm on shared NFS; they want a Custom Resource that says “this queue manager is HA” and lets the platform restart pods after node drains. Native HA still delivers active/passive semantics at the messaging layer—one primary queue manager image serving the name—but orchestration handles placement, health probes, and persistent volume claims. This tutorial explains what Native HA adds over classic installs, how it relates to the IBM MQ operator, storage and networking considerations, client connectivity in dynamic environments, comparison to RDQM and multi-instance, and operational habits that differ from LPAR operations.
Virtual machines with shared SAN remain valid. Container platforms prefer replicated volumes or storage classes and pod anti-affinity to spread risk across nodes. Native HA aligns MQ with that model so platform engineers do not bolt MIQM scripts onto Kubernetes as an afterthought.
The IBM MQ operator watches Custom Resources defining queue managers, versions, storage, and HA enablement. When a node fails, Kubernetes reschedules pods; the operator coordinates MQ-specific startup order and recovery. Beginners should learn operator logs alongside queue manager logs—failures often appear in operator events before AMQ messages make sense.
| Block | Purpose | Ops focus |
|---|---|---|
| QueueManager CR | Declares desired MQ state | GitOps version control |
| Persistent volumes | Hold logs and qm data | Storage class, backup |
| Pod anti-affinity | Spread replicas across nodes | Zone spread in cloud |
| Services / routes | Stable client endpoints | DNS and TLS certs |
| Health probes | Restart unhealthy pods | Tune timeouts vs MQ start time |
Persistent volume claims bind queue manager data. Storage class choice affects failover time—network-attached storage in the cloud behaves differently from local SSD. Backup operators snapshot PVCs or use IBM backup tools per documentation. Test restore into a fresh namespace quarterly.
ClusterIP, NodePort, LoadBalancer, or OpenShift routes expose listeners. Clients outside the cluster need routes and TLS trust stores matching pod certificates. MQ client reconnect and CCDT should target the service DNS name, not a pod IP that changes every reschedule. Mutual TLS rotation requires coordinated cert manager updates.
12345/* Client design checklist - MQCONNX with reconnect options enabled - CCDT points at service hostname / route - TLS trust store includes current cert issuer - Idempotent consumers for redelivery after failover */
| Option | Best fit | Weak fit |
|---|---|---|
| Native HA | Kubernetes standard | Bare metal without orchestration |
| Multi-instance | Two VMs + SAN | Cloud without shared disk |
| RDQM | Linux VMs, no SAN | Pure z/OS |
| IBM MQ on Cloud | Managed service preference | On-prem only policy |
Operator-driven upgrades roll queue manager versions with declared maintenance windows. Readiness probes must allow enough time for log recovery on restart. Horizontal Pod Autoscaler does not replace queue manager HA—do not confuse pod count with MQ active/passive roles unless architecture explicitly supports it.
Native HA is a kitchen where if one cook station shuts down, the manager automatically moves the recipe book to another station that already has a copy of ingredients—Kubernetes is the manager, Native HA is the recipe for MQ.
The toy factory has backup rooms. If one room breaks, robots move the same toy list to another room that already has the same toys copied.
List five differences between operating MIQM on VMs versus Native HA on OpenShift.
Design CCDT for clients connecting to an OpenShift route with reconnect.
Write failover verification steps using kubectl and MQ SC commands.
1. Native HA targets:
2. Native HA differs from MIQM by:
3. After pod failover clients need:
4. Native HA is active/passive in that: