Skip to content

Latest commit

 

History

History
113 lines (92 loc) · 3.71 KB

File metadata and controls

113 lines (92 loc) · 3.71 KB
title Bundle
description Bundle arkmq-org.io
lead Bundle arkmq-org.io
date 2020-10-06 08:49:31 +0000
lastmod 2020-10-06 08:49:31 +0000
draft false
images
menu
docs
parent
help
weight 630
toc true

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.

Minimum OLM version: 0.32.0 — The operator bundle includes a NetworkPolicy manifest. OLM versions prior to 0.32.0 do not support NetworkPolicy as a bundle resource and will reject the InstallPlan. On OpenShift, this corresponds to version 4.20 or later.

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/arkmq-org-broker-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/arkmq-org-broker-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/arkmq-org-broker-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
arkmq-org-broker-operator-source-g94fd    1/1     Running   0          42s

Create a subscription (e.g. subscription.yaml)

apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: arkmq-org-broker-operator-subscription
  namespace: operators
spec:
  channel: stable
  name: arkmq-org-broker-operator
  source: arkmq-org-broker-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
arkmq-org-broker-controller-manager-54c99b9df6-6xdzh              1/1     Running     0          9m28s
arkmq-org-broker-operator-source-g94fd                            1/1     Running     0          58m

Deploy a single Apache Artemis Broker

The following command line deploys a single Apache Artemis Broker instance by applying the Broker custom resource (CR) defined in broker_single.yaml file:

$ kubectl apply -f examples/broker/broker_single.yaml

To check the status of the broker, run:

$ kubectl get Broker
NAME        READY   AGE
my-broker   True    39s