This example deploys a "quick start" queue manager by using the IBM® MQ Operator on Amazon EKS. The queue manager uses ephemeral
(non-persistent) storage and turns off IBM MQ security.
Messages are not persisted across restarts of the queue manager. You can adjust the configuration to
change many queue manager settings.
About this task
Queue managers can be installed by a namespace administrator.
Unless you have performed a cluster-scoped (AllNamespaces) installation of the
IBM MQ Operator, deploy your queue manager in the same namespace
where you installed the IBM MQ Operator.
Procedure
-
Online installations only: Create an entitlement key secret.
The IBM MQ Operator deploys queue manager images that are
pulled from a container registry that performs a license entitlement check.
Follow the instructions in Preparing to use Kubernetes by creating a pull secret.
Note: The entitlement key is not required if you will deploy only IBM MQ Advanced for Developers (Non-Warranted) queue managers.
-
Air gapped installations only: Create a
docker-registry
secret with credentials for your private registry, for use when pulling the queue
manager image.
Note: If the IBM MQ Operator installation is namespace scoped,
you can reuse the same secret that you used when you installed the Operator, in which case you can
skip this step.
Run the following
command:
kubectl create secret docker-registry mq-airgap-credentials -n <NAMESPACE> --docker-server=<YOUR_IMAGE_REGISTRY> --docker-username=<USERNAME> --docker-password=<PASSWORD>
Replace
the following values in the command:
<NAMESPACE> is the namespace in which you will deploy the queue manager
<YOUR_IMAGE_REGISTRY> is your private registry, for example
my-private-registry.com
<USERNAME> is your username to access your private registry
<PASSWORD> is your password to access your private registry
-
Create a queue manager YAML file.
Create a file called mq-quickstart.yaml with the following
contents:
apiVersion: mq.ibm.com/v1beta1
kind: QueueManager
metadata:
name: quickstart
annotations:
com.ibm.mq/write-defaults-spec: 'false'
spec:
version: 10.0.0.0-r1
license:
accept: false
license: L-CXDB-XTZ9J8
queueManager:
name: "QUICKSTART"
storage:
queueManager:
type: ephemeral
route:
enabled: false
metrics:
serviceMonitor:
enabled: false
web:
enabled: false
route:
enabled: false
spec.queueManager.route.enabled,
spec.queueManager.metrics.serviceMonitor.enabled, and
spec.web.route.enabled are set to
false because these are
Red Hat OpenShift specific features that are enabled by default. These
features must be disabled explicitly on
Amazon EKS.
-
Air gapped installations only: Add the credentials for your private registry to the
queue manager YAML file:
spec:
...
imagePullSecrets:
- name: "mq-airgap-credentials"
Note: For an air-gap installation, the custom resource YAML for each queue manager must include
spec.imagePullSecrets if the private registry that contains the images requires
credentials. This field must reference a
Kubernetes secret
that contains the private registry credentials. For more information, see the
Deploy an
IBM MQ queue manager step of
Installing the IBM MQ Operator on Amazon EKS in an air-gap environment.
-
Create the queue manager:
kubectl apply -f mq-quickstart.yaml -n <NAMESPACE>
-
Verify the queue manager status:
kubectl get queuemanager quickstart -n <NAMESPACE>