Bundle
Operator Lifecycle Manager (OLM)
The Operator Lifecycle Manager can help users to install and manage operators. The arkmq-org operator can be built into a bundle image and installed into OLM.
Install OLM
Check out the latest releases on github for release-specific install instructions.
Create a repository
Create a repository that Kubernetes will uses to pull your catalog image. You can create a public one for free on quay.io, see how to create a repo.
Build a catalog image
Set your repository in CATALOG_IMG and execute the following command:
make CATALOG_IMG=quay.io/my-org/activemq-artemis-operator-catalog:latest catalog-build
Push a catalog image
Set your repository in CATALOG_IMG and execute the following command:
make CATALOG_IMG=quay.io/my-org/activemq-artemis-operator-catalog:latest catalog-push
Create a catalog source (e.g. catalog-source.yaml):
Before creating the catalog source, ensure to update the image field within the spec
section with your own built catalog image specified by the CATALOG_IMG
environment variable.
For the CATALOG_IMG
, refer to the Build a catalog image section.
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: arkmq-org-broker-operator-catalog-source
namespace: operators
spec:
displayName: ArkMQ Broker Operator Catalog Source
image: quay.io/my-org/activemq-artemis-operator-catalog:latest
sourceType: grpc
and deploy it:
$ kubectl create -f catalog-source.yaml
In a moment you will see the catalog image is up and running in namespace operators:
$ kubectl get pod -n operators
NAME READY STATUS RESTARTS AGE
activemq-artemis-operator-source-g94fd 1/1 Running 0 42s
Create a subscription (e.g. subscription.yaml)
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: activemq-artemis-operator-subscription
namespace: operators
spec:
channel: stable
name: activemq-artemis-operator
source: activemq-artemis-operator-source
sourceNamespace: operators
and deploy it:
$ kubectl create -f subscription.yaml
An operator will be installed into operators namespace.
$ kubectl get pod -n operators
NAME READY STATUS RESTARTS AGE
069c5d363d51fc04d639086da1c5180883a6cea8ec9d9f9eedde1a55f6v7jsq 0/1 Completed 0 9m55s
activemq-artemis-controller-manager-54c99b9df6-6xdzh 1/1 Running 0 9m28s
activemq-artemis-operator-source-g94fd 1/1 Running 0 58m
Deploy a single Apache ActiveMQ Artemis
The following command line deployes a single Apache ActiveMQ Artemis broker instance by applying the ActiveMQArtemis custom resource (CR) defined in artemis_single.yaml file:
$ kubectl apply -f examples/artemis/artemis_single.yaml
To check the status of the broker, run:
$ kubectl get ActivemqArtemis
NAME READY AGE
artemis-broker True 39s