-
Get the EnMasse 0.28 bundle
curl -LO https://github.com/EnMasseProject/enmasse/releases/download/0.28.0/enmasse-0.28.0.tgz
-
Unpack
tar xzf enmasse-0.28.0.tgz
-
Log in to OpenShift as a user with
cluster-admin
role, and create a new project:oc login -u system:admin oc new-project enmasse-infra
-
Deploy the bundle
cd enmasse-0.28.0 oc apply -f install/bundles/enmasse
-
Install example plans and infrastructure configuration:
oc apply -f install/components/example-plans
-
Install the authentication services:
oc apply -f install/components/example-authservices
-
Install service admin and tenant roles
oc apply -f install/components/example-roles
-
Get the console route, and note it down
oc get route console
the output should look something like:
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD console console-enmasse-infra.192.168.42.233.nip.io console https reencrypt None
For this example, the AMQ Console can be reached at
https://console-enmasse-infra.192.168.42.233.nip.io
-
Update the monitoring bundle from this repository
rm -rf install/bundles/monitoring curl -L https://raw.githubusercontent.com/rgodfrey/summit-2019-workshop/master/updated-monitoring.tgz | tar xf -
-
Install the monitoring operator
oc new-project enmasse-monitoring oc apply -f install/components/monitoring-operator
-
Deploy the kube-state-metrics agent
oc project enmasse-infra oc apply -f install/components/kube-state-metrics
-
Reinstall monitoring operator if necessary (due to a race condition in the installation, the operator may need to be re-installed)
a. check how many pods are running in the monitoring project
oc get pods -n enmasse-monitoring
b. if only the two operator pods exist, then reinstall
oc delete project enmasse-monitoring oc new-project enmasse-monitoring oc apply -f install/components/monitoring-operator
-
Create a new file
direct-only-plan.yaml
with the following contentapiVersion: admin.enmasse.io/v1beta2 kind: AddressSpacePlan metadata: name: direct-only labels: app: enmasse spec: displayName: Direct Only displayOrder: 0 infraConfigRef: default shortDescription: Messaging infrastructure based on Apache Qpid Dispatch Router and Apache ActiveMQ Artemis. longDescription: Messaging infrastructure based on Apache Qpid Dispatch Router and Apache ActiveMQ Artemis. This plan allows up to 3 routers but does not allow for any store-and-forward addressing. addressSpaceType: standard resourceLimits: router: 3.0 broker: 0.0 aggregate: 3.0 addressPlans: - standard-small-anycast - standard-small-multicast
-
Create the plan
oc apply -f direct-only-plan.yaml
-
Check the plan is present
oc get addressspaceschema standard -o jsonpath='{.spec.plans[*].name}' | xargs -n1 | sort
should return something like the below (i.e. including the new plan)
direct-only standard-medium standard-small standard-unlimited standard-unlimited-with-mqtt
-
Use the console to create a new address space (as a different user, e.g. developer) using this plan
- You can also delete plans
oc delete addressspaceplan standard-unlimited-with-mqtt
Use the examples at https://github.com/EnMasseProject/enmasse-example-clients